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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2008, 11:49   #1
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию Изменение пути к таблице .dbf

Здравствуйте, помогите пожалусто у меня есть такая проблема:
1. при выборе из комбобокса месяца (за текущий год) нужно применять определенную таблицу (они находятся в каталогах с соотв названиями(1,2,..12)) ; при активации приложения работает таблица текущего месяца(с исполь. алиаса). я делаю так:
Код:
Panel1.Visible:=false;
if ComboBox2.Text='январь' then begin
  DataModule3.Table1.Active:=false;
  with Session do
  begin
    ConfigMode := cmSession;
    try
            
      AddStandardAlias('VODITXR',ExtractFilePath(ParamStr(0)) + 'C:\SVIR\01\', 'PARADOX');
      DataModule3.Table1.Active := True; 
    finally
      ConfigMode := cmAll;
    end;
  end;
end;
 GroupBox1.Caption:='  Средняя выручка по дням недели в январе ';
 end;
но данные все равно берутся за текущий месяц .
здесь я выполняю запрос при нажатии на кнопку:
Код:
begin
 DataModule3.Query1.Active:=false;
 DataModule3.Query1.SQL.Clear;
 DataModule3.Query1.SQL.Add('select s.DNED,v.FNDAT,v.FNADVI,gr.MARKA,v.FPASWN,v.FPASWV,v.FVIRWN,v.FVIRWV,v.FVALSUM,(v.FVIRWN+v.FVIRWV+k.KROS*v.FVALSUM) as IT from VODITXR v,GOSNOM g,GRUM gr,MARZAG m,sutki s,KURS k where v.FSTNAZ="'+ComboBox1.Text+'" and v.FGARN=g.GARN  and v.FNDAT=k.DAT and g.KOMAR=gr.KOMAR and m.STNAZ=v.FSTNAZ and s.DATA=v.FNDAT ');
 DataModule3.Query1.Active:=true;

   if DataModule3.Query1.RecordCount <> 0 then
    begin
  DataSource1.DataSet:=DataModule3.Query1;
  end;
Пожалусто, кто-нибудь помогите , замучилась уже...
Tanuska___:) вне форума Ответить с цитированием
Старый 22.04.2008, 12:00   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

А совпадают ли у тебя типы данных в комбике и в поле с месяцами?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 12:03   #3
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

так это же не важно я же не сравниваю а выбираю по параметру: есля январь то выбрать таблицу с таким- то путем
Tanuska___:) вне форума Ответить с цитированием
Старый 22.04.2008, 12:06   #4
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
о выбрать таблицу с таким- то путем
Где это написано?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 12:07   #5
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

в таблице нет поля - месяц там есть дата.

в комбобоксе записаны (вручную )названия месяцев, и при выборе обрабатывается событие нажатия на кнопку. Я начинала делать в Accsess, там все работало на ура!!! но теперь пришлось перейти (по определ. обстоятельствам) на dbf-ки . и причем делфи ошибку не выдает он просто игнорирует.

Последний раз редактировалось Alex21; 24.04.2008 в 15:16.
Tanuska___:) вне форума Ответить с цитированием
Старый 22.04.2008, 12:28   #6
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Сделайте проще:
Table1.Close;
Table1.DataBaseName:='C:\SVIR\01\'+ имя_файла.dbf;
Table1.Open;
и точно так же - для Query1:
Query1.DataBaseName:=Table1.DataBas eName;
mihali4 вне форума Ответить с цитированием
Старый 22.04.2008, 12:39   #7
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

теперь возникает ошибка после нажатия на кнопку с выбором месяца
что не так ?
Изображения
Тип файла: jpg 1.JPG (18.8 Кб, 126 просмотров)
Tanuska___:) вне форума Ответить с цитированием
Старый 22.04.2008, 12:47   #8
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Михалыч, не чуди )
В DataBaseName не таблица указывается а база.

Таня, Танечка, Танюша Выбор таблиц указывается после FROM а не после WHERE.
Тебе Селект нужно сделать типа:
Код:
'Select * from '+ComboBox.text+' Where....'
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 22.04.2008, 12:51   #9
Tanuska___:)
Пользователь
 
Аватар для Tanuska___:)
 
Регистрация: 22.04.2008
Сообщений: 84
По умолчанию

Нет извини что запутала это не тот комбо этот используется для выбора пункта назначения, а про месяцы это уже второй и в нем не таблицы а просто текст при выборе одного из итемса я пытаюсь програмно заменить путь алиаса к таблице VODITXR.dbf.
Tanuska___:) вне форума Ответить с цитированием
Старый 22.04.2008, 12:55   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
я пытаюсь програмно заменить путь алиаса к таблице VODITXR.dbf.
Да зачем???
Вообще Алиас это лишнее.
Query1.DatabaseName:=путь к папке с таблицами

Этого с головой хватает.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Получение пути запуска Darth Общие вопросы Delphi 5 28.07.2008 13:37
Пути к данным Лубышев Общие вопросы Delphi 3 21.01.2008 18:56
Извлечение пути файлов dagarik Общие вопросы Delphi 7 01.11.2007 14:42
Системные пути Lonix Общие вопросы Delphi 8 14.09.2007 17:10