Модераторы: Akina
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Циклический запрос на добавку 
V
    Опции темы
мслм
Дата 21.6.2006, 16:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.6.2006

Репутация: нет
Всего: нет



Здравствуйте!

Есть такой запрос на добавку:



Код

INSERT INTO tblТорговляЦенаКол ( IDДатаТорговля, ЦенаУсл, Цена, Продажа ) IN 'D:\Documents and Settings\Я\Мои документы\Проба.mdb'
SELECT tblТорговляДата.IDДатаТорговли, QryВводДанных.ЦенаУсл, QryВводДанных.Цена, QryВводДанных.Пдж1
FROM tblТорговляДата INNER JOIN QryВводДанных ON (tblТорговляДата.Магазин=QryВводДанных.Магазин) AND (tblТорговляДата.ДатаТорговли=QryВводДанных.Год_Месяц)
WHERE (((QryВводДанных.Пдж1)<>0));



Как его написать с таким циклическим изменением?:


Код

SELECT tblТорговляДата.IDДатаТорговли, QryВводДанных.ЦенаУсл, QryВводДанных.Цена, QryВводДанных.Пдж2
FROM tblТорговляДата INNER JOIN QryВводДанных ON (tblТорговляДата.Магазин=QryВводДанных.Магазин) AND (tblТорговляДата.ДатаТорговли=QryВводДанных.Год_Месяц + 1)
WHERE (((QryВводДанных.Пдж2)<>0));




Код

SELECT tblТорговляДата.IDДатаТорговли, QryВводДанных.ЦенаУсл, QryВводДанных.Цена, QryВводДанных.Пдж3
FROM tblТорговляДата INNER JOIN QryВводДанных ON (tblТорговляДата.Магазин=QryВводДанных.Магазин) AND (tblТорговляДата.ДатаТорговли=QryВводДанных.Год_Месяц + 2)
WHERE (((QryВводДанных.Пдж3)<>0));



И т.д. до 31-го.

Спасибо заранее. 
PM MAIL   Вверх
Ignat
Дата 21.6.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Флудератор
****


Профиль
Группа: Экс. модератор
Сообщений: 4030
Регистрация: 19.4.2004
Где: غيليندزيك مدينة

Репутация: нет
Всего: 73



мслм, вы уверены, что не ошиблись разделом? 


M
Ignat
Перемещаю из MySQL
 


--------------------
Теперь при чем :P
PM   Вверх
Akina
Дата 21.6.2006, 17:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Код

Sub InsertData()
   For i = 0 to 31
      strSQL = "SELECT tblТорговляДата.IDДатаТорговли, QryВводДанных.ЦенаУсл, QryВводДанных.Цена, QryВводДанных.Пдж3 " & _
               "FROM tblТорговляДата INNER JOIN QryВводДанных ON (tblТорговляДата.Магазин=QryВводДанных.Магазин) AND " & _
               "(tblТорговляДата.ДатаТорговли=QryВводДанных.Год_Месяц + " & CStr(i) & ") " & _
               "WHERE (((QryВводДанных.Пдж3)<>0));"
      DoCMD.RunSQL strSQL
   Next
End Sub
 

PS. Запрос на добавку - это в обюрократившенися столовой. А в SQL - запрос на добавление.  


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
мслм
Дата 22.6.2006, 09:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.6.2006

Репутация: нет
Всего: нет



Ignat , да, ты прав. Это аксесовские программы. Я не туда попал.

Akina, как ты правильно заметил, там циклически изменяется связь по Дате.
Но, наверно не заметил, циклически меняется еще и поле Пдж1, Пдж2, …, Пдж31 таблицы QryВводДанных.

QryВводДанных – это сводная таблица с полями: Магазин, Год_Месяц, ЦенаУсл, Цена, Пдж1, Пдж2, …, Пдж31.
Данные этой таблицы я должен перекопировать в другую таблицу с полями: Магазин, Дата, ЦенаУсл, Цена, Продажа.

Циклически менять поле с Пдж1 на Пдж2, …, Пдж31 у меня не получается. Вот здесь вся проблема.
  

Это сообщение отредактировал(а) мслм - 22.6.2006, 09:34
PM MAIL   Вверх
Akina
Дата 22.6.2006, 10:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Мда...  smile  "... Марь Иванна, мне бы Ваши проблемы ..."
Код

Sub InsertData()
   For i = 0 to 31
      strSQL = "SELECT tblТорговляДата.IDДатаТорговли, QryВводДанных.ЦенаУсл, QryВводДанных.Цена, QryВводДанных.Пдж" & trim(cstr(i+1)) & " " & _
               "FROM tblТорговляДата INNER JOIN QryВводДанных ON (tblТорговляДата.Магазин=QryВводДанных.Магазин) AND " & _
               "(tblТорговляДата.ДатаТорговли=QryВводДанных.Год_Месяц + " & CStr(i) & ") " & _
               "WHERE (((QryВводДанных.Пдж3)<>0));"
      DoCMD.RunSQL strSQL
   Next
End Sub


 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
мслм
Дата 22.6.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.6.2006

Репутация: нет
Всего: нет



strSQL – текстовый? И там можно менять все что захочешь? В том числе и «QryВводДанных.Пдж " & trim(CStr(i)) & "»?

Но почему-то при запуске 0 реакции. smile  Хоть как.
   

Это сообщение отредактировал(а) мслм - 22.6.2006, 11:32
PM MAIL   Вверх
Akina
Дата 22.6.2006, 12:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Советчик
****


Профиль
Группа: Модератор
Сообщений: 20581
Регистрация: 8.4.2004
Где: Зеленоград

Репутация: 30
Всего: 454



Цитата(мслм @  22.6.2006,  12:29 Найти цитируемый пост)
strSQL – текстовый? 

а для чего, спрашивается, я TypePrefix указываю??? не, можешь вариантом сделать...

Цитата(мслм @  22.6.2006,  12:29 Найти цитируемый пост)
при запуске 0 реакции

Поставь брейкпойнт и посмотри что присваивается strSQL в рантайме. В конце концов попробуй тупо полученную в рантайме строку запихнуть в запрос Аксессовой базы.
 


--------------------
 О(б)суждение моих действий - в соответствующей теме, пожалуйста. Или в РМ. И высшая инстанция - Администрация форума.

PM MAIL WWW ICQ Jabber   Вверх
dionisiu
Дата 27.6.2006, 12:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 13.5.2006
Где: Крым

Репутация: 1
Всего: 2



замени ещё "WHERE (((QryВводДанных.Пдж3)<>0));" 
на
"WHERE (((QryВводДанных.Пдж" & trim(cstr(i+1)) & ")<>0));"
 
PM MAIL ICQ   Вверх
мслм
Дата 5.7.2006, 08:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 21.6.2006

Репутация: нет
Всего: нет



Спасибо, Akina. Ты здорово мне помог.
Списбо, dionisiu . 
PM MAIL   Вверх
dionisiu
Дата 4.8.2006, 09:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 170
Регистрация: 13.5.2006
Где: Крым

Репутация: 1
Всего: 2



Цитата

Спасибо, Akina. Ты здорово мне помог.
Списбо, dionisiu .  


это как? Модератору - спасибо, а мне Списбо? это чё это?
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "MS Access"
Akina
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] и [code=sql][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | MS Access | Следующая тема »


 




[ Время генерации скрипта: 0.0536 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.