![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Регистрация: 13.03.2009
Сообщений: 5
|
![]()
Копирую данные из Excel в mdb но вот проблема, немогу корректно перенести поле Дата, поля в Excel и MDB имеют одинаковый формат, Типа (01.01.9999), собственно сам исходник:
procedure TForm1.N2Click(Sender: TObject); var ea:variant; row,x:integer; i: word; ArData: Variant; begin try begin if opendialog1.Execute then begin Screen.Cursor := crSQLWait; form1.ADOQuery1.open; form1.ADOQuery4.Close; form1.ADOQuery4.SQL.Clear; form1.ADOQuery4.SQL.Add('Delete from Ëèñò2'); form1.ADOQuery4.ExecSQL; ea:=CreateOleObject('Excel.Applicat ion'); ea.Workbooks.Open(opendialog1.FileN ame); ea.Visible:=false; row:=ea.ActiveSheet.UsedRange.Rows. Count; ArData := VarArrayCreate([1, row, 1, 6], varOleStr); ArData := ea.ActiveSheet.Range['A1:H' + IntToStr(row)].Value; for i:=1 to row do begin adotable1.Open; adotable1.Append; adotable1.Fields[0].Value:=ArData[i, 1]; adotable1.Fields[1].Value:=ArData[i, 2]; adotable1.Fields[2].Value:=ArData[i, 3]; adotable1.Fields[3].Value:=strtodate (ArData[i, 4]);<---вот тут видимо проблема adotable1.Fields[4].Value:=ArData[i, 5]; adotable1.Fields[5].Value:=ArData[i, 6]; adotable1.Fields[6].Value:=ArData[i, 7]; adotable1.Fields[7].Value:=ArData[i, 8]; application.ProcessMessages; x:=row; ProgressBar1.Position:=Round(100*i/x); end; adotable1.Post; ea.quit; adotable1.First; ProgressBar1.Position:=0; form1.ADOQuery2.SQL.Clear; form1.ADOQuery2.SQL.Add('Select Фамилия,Имя,Отчество,Дата,Город,Ули ца,Дом,Квартира From Лист2 order by Фамилия'); form1.ADOQuery2.Open; form1.ADOQuery5.Close; form1.ADOQuery5.Open; Screen.Cursor := crDefault; end; end; except begin Screen.Cursor := crDefault; ea.quit; MessageDlg('Ошибка загрузки данных',mtError,[mbOK],0); exit; end; end; end; Выдаёт сообщение о несовпадении типов данных, немогу понять в чём проблема, так как форматы полей в базе и в таблице Экселя совпадают. Что я делаю не так, немогу понять.... подскажите плиз.... |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Передача данных из Excel в созданную таблицу | Самоучка | БД в Delphi | 2 | 06.11.2008 20:53 |
копирование данных в новую таблицу при интерактивном выборе файла | gege | Microsoft Office Excel | 7 | 22.10.2008 17:16 |
копирование данных из таблицы в таблицу | Sack | Microsoft Office Access | 1 | 16.09.2008 05:59 |
запись в БД(*.MDB) из Excel VB | MUZDIE | Microsoft Office Excel | 1 | 18.01.2008 17:13 |
Запись в БД(*.MDB) из Excel VB | MUZDIE | Помощь студентам | 2 | 18.01.2008 12:58 |