Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > БД в Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 10.09.2009, 15:10   #21
pesi
Подтвердите свой е-майл
 
Регистрация: 05.03.2009
Сообщений: 65
По умолчанию

Вот тут 2.rar
Если бд лежит в папке с прогой то указываете просто название и расширение бд, в вашем случаи так Basa.mdb
А если бд лежит в папке которая находится в папке с прогой то так BD\Basa.mdb
Не делайте привязки к диску
pesi вне форума Ответить с цитированием
Старый 10.09.2009, 17:50   #22
vovk
!=
Участник клуба
 
Аватар для vovk
 
Регистрация: 08.09.2008
Сообщений: 1,751
По умолчанию

Цитата:
Сообщение от pesi Посмотреть сообщение
Вот тут Вложение 15280
Если бд лежит в папке с прогой то указываете просто название и расширение бд, в вашем случаи так Basa.mdb
А если бд лежит в папке которая находится в папке с прогой то так BD\Basa.mdb
Не делайте привязки к диску
из вложения
Цитата:
Код:
Workbook:=Msx.Workbooks.Open(DirectoryListBox1.DirLabel.Caption + '\' + FileListBox1.Items[FileListBox1.ItemIndex]);
ага и что будет когда путь перестанет влазить в ширину DirectoryListBox?
так не надо делать из TFileListBox вполне можно получить имя файла и полный путь
Код:
FileListBox1.FileName
Цитата:
Сообщение от Власов А.С. Посмотреть сообщение
Люди подскажиет вот накидал немного получилось. Вапщем импорт идет а как сделать если файл экселевский не один. Непойму.
если файл не один сначала получить или составить список файлов, и обращатся в цикле к каждому файлу из созданного списка

Последний раз редактировалось vovk; 10.09.2009 в 17:58.
vovk вне форума Ответить с цитированием
Старый 10.09.2009, 18:26   #23
pesi
Подтвердите свой е-майл
 
Регистрация: 05.03.2009
Сообщений: 65
По умолчанию

vovk, спасибо за поправку, учту на будующее
pesi вне форума Ответить с цитированием
Старый 11.09.2009, 11:16   #24
Власов А.С.
Пользователь
 
Регистрация: 04.08.2009
Сообщений: 48
По умолчанию

А подскажите еще такой момент (мож это как то проверкой сделать) а если нужно не одну ячеку выбрать а несколько. Допустим
Цитата:
st:= Sheet.cells[17,5];
это первая ячейка и я знаю что она всегда будет а вот
Цитата:
st:= Sheet.cells[18,5]
а вот эта незнаю будет ли она или нет. И спасибо за предыдущее, очень помоги
Власов А.С. вне форума Ответить с цитированием
Старый 11.09.2009, 14:21   #25
pesi
Подтвердите свой е-майл
 
Регистрация: 05.03.2009
Сообщений: 65
По умолчанию

Код:
var
Msx, Workbook, Sheet : variant;
st, st1, st2, st3 : String;
boo, merg : boolean;
c1 : integer;
begin
if FileListBox1.ItemIndex = -1 then exit;
Msx:=CreateOleObject('Excel.Application');
Msx.Visible:=false;
Workbook:=Msx.Workbooks.Open(FileListBox1.FileName);
Sheet:= WorkBook.ActiveSheet;
boo:=true;
c1:=17;
st2:= Sheet.cells[7,2].value;
st3:= Sheet.cells[3,8].value;
While boo<>false do
begin
st:= Sheet.cells[c1, 5].value;
st1:= Sheet.cells[c1, 1].value;
merg:=Sheet.cells[c1, 1].MergeCells;
if (st<>'') and (st1<>'') and (merg<>true) then
begin
ADOTable1.Insert;
ADOTable1.FieldByName('Сумма').AsString:=st;
ADOTable1.FieldByName('КБК').AsString:=st1;
ADOTable1.FieldByName('Сельсовет').AsString:=st2;
ADOTable1.FieldByName('Дата').AsString:=st3;
ADOTable1.Post;
inc(c1);
end else boo:=false;
end;
Msx.Quit;
Msx := Unassigned;
end;
pesi вне форума Ответить с цитированием
Старый 14.09.2009, 08:09   #26
Власов А.С.
Пользователь
 
Регистрация: 04.08.2009
Сообщений: 48
По умолчанию

pesi бальшое спасибо за помощь!!!!!!!!!!!!!
Власов А.С. вне форума Ответить с цитированием
Старый 14.09.2009, 09:13   #27
Власов А.С.
Пользователь
 
Регистрация: 04.08.2009
Сообщений: 48
По умолчанию

pesi еще один маленький вопрос после выполнения этой операции можна сделать чтоб этот файлик по которому прошел импорт удалился. Спасибо за ранее.
Власов А.С. вне форума Ответить с цитированием
Старый 14.09.2009, 22:12   #28
pesi
Подтвердите свой е-майл
 
Регистрация: 05.03.2009
Сообщений: 65
По умолчанию

вроде так
Код:
if DeleteFile(Pchar(FileListBox1.FileName)) then
    ShowMessage('Файл успешно удален!')
  else
  ShowMessage('Ошибка! Вот ее код: '+IntToStr(GetLastError));
end;
pesi вне форума Ответить с цитированием
Старый 17.09.2009, 12:24   #29
Власов А.С.
Пользователь
 
Регистрация: 04.08.2009
Сообщений: 48
По умолчанию

pesi кидает код ошибки 32
Власов А.С. вне форума Ответить с цитированием
Старый 17.09.2009, 12:47   #30
SuperVisor
Павел Сергеевич
Форумчанин
 
Регистрация: 05.11.2006
Сообщений: 665
По умолчанию

Ошибка 32 - I/O error.
Закройте файл для начала, а потом удаляйте )
Познавая других, мы познаем себя.
С'est la vie...
SuperVisor вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Перенос форм из Экселя в Ворд Nash1 Microsoft Office Word 5 07.07.2009 06:32
Перенести таблицы Экселя в Ворд Nash1 Фриланс 5 02.07.2009 09:46
нужно разработать базу данных в акссес Gelya86 Фриланс 9 28.02.2008 11:23
из экселя в БД Shark2112 Microsoft Office Excel 1 16.10.2007 08:04
защитить лист экселя от копирования nextaty Microsoft Office Excel 11 01.12.2006 21:27