myth
|
|
1 | |
Нужна срочная помощь, helpppppppp!!!!!!!!!!!18.05.2009, 13:58. Показов 891. Ответов 4
Метки нет (Все метки)
Мне очень надо написать такую программу: есть форма, через поля которой вводятся параметры для запроса SQL. Запрос на создание новой таблицы.
Как это сделать не знаю. Ну идейка появилась: но она не работает Sub PrintSverki(frmsverka As Form_Сверка) .... Dim rst As DAO.Recordset Dim dbs As DAO.Database Dim qdfReport As QueryDef Dim prmBegin As Parameter Dim prmEnd As Parameter Dim prmOrgan As Parameter ..... Set dbs = CurrentDb Set prmBegin = frmsverka.begindata Set prmEnd = frmsverka.enddata Set prmOrgan = frmsverka.Наименование Set qdfReport = dbs.CreateQueryDef('', _ ' PARAMETERS dteBegin Date, dteEnd Date, dteOrgan Text; ' & _ 'SELECT [Реестр договоров].[Номер договора], [Реестр договоров].[Дата договора], [Выполненные работы].[№ Акта], [Выполненные работы].Дата, [Выполненные работы].Сумма INTO [Рыботы-сверка]' & _ 'FROM [Реестр договоров] LEFT JOIN [Выполненные работы] ON [Реестр договоров].[Номер договора] = [Выполненные работы].Договор ' & _ 'WHERE ((([Реестр договоров].Заказчик)=[dteOrgan]) AND (([Реестр договоров].[Дата договора]) Between [dteBegin] And [dteEnd]))') Set prmBegin = gdfReport.Parameters!dteBegin Set prmEnd = gdfReport.Parameters!dteEnd Set prmOrgan = gdfReport.Parameters!dteOpgan dbs.Close Set objWord = Nothing End Sub Если кто-то знаком с такой ситуацией, помогите... В силу того что я программировать не умею, у меня большие сложности с этим. Заранее благодарна за помощь |
18.05.2009, 13:58 | |
Ответы с готовыми решениями:
4
Запрос, нужна срочная помощь!!!!!! таблица Exsel, нужна срочная помощь!!!! Нужна срочная помощь!!!!!!!! Нужна помощь |
msd
|
|
18.05.2009, 16:52 | 2 |
Составляем запрос:
sqlSTR='SELECT ... INTO ... FROM ...' при помощи обыкновенных строковых операций. А потом просто запускаем его: CurrentDB.Execute(sqlSTR) И всё - готовая таблица. |
myth
|
|
18.05.2009, 16:58 | 3 |
Большое спасибо за подсказку!
А как быть с параметрами??? |
msd
|
|
18.05.2009, 17:23 | 4 |
Параметры зашиваются прямо в строку запроса. Например, какой-то параметр находится на форме MyForm в поле MyField, и он является критерием запроса по полю SomeField таблицы MyTable. Пишем:
В случае, если параметр числовой: 'SELECT ... WHERE MyTable.SomeField='& Forms![MyForm]![MyField] В случае, если параметр строковый: 'SELECT ... WHERE MyTable.SomeField=''& Forms![MyForm]![MyField]&''' то есть, обрабляем значение апострофами. В случае, если параметр - дата: 'SELECT ... WHERE MyTable.SomeField=#'& Forms![MyForm]![MyField]&'#' то есть, обрабляем значение решетками. Дата должна быть в формате mm/dd/yyyy - это требование SQL. Таким образом на выходе получаем готовый запрос. Примеры: SELECT * FROM MyTable WHERE MyTable.MyField=8 SELECT * FROM MyTable WHERE MyTable.MyField='Иванов' SELECT * FROM MyTable WHERE MyTable.MyField=#10/28/2002# |
myth
|
|
18.05.2009, 18:08 | 5 |
Это опять я, помогите еще раз, плиз, у меня уже крыша едет
strSQL = 'SELECT [Реестр договоров].[Номер договора], [Реестр договоров].[Дата договора], [Выполненные работы].[№ Акта], [Выполненные работы].Дата, [Выполненные работы].Сумма INTO [Рыботы-сверка]' & _ 'FROM [Реестр договоров] LEFT JOIN [Выполненные работы] ON [Реестр договоров].[Номер договора] = [Выполненные работы].Договор ' & _ *** 'WHERE [Реестр договоров].Заказчик = ' & frmsverka.Наименование & ' AND [Реестр договоров].[Дата договора] Between ' & frmsverka.begindata & ' And ' & frmsverka.enddata Там где помечено *** выдается ошибка о неправильном синтаксисе, причем если ставить # , то вообще невоспринимет А как привести к виду mm/dd/yyyy Спасибо. |
18.05.2009, 18:08 | |
18.05.2009, 18:08 | |
Помогаю со студенческими работами здесь
5
Нужна помощь Нужна помощь!!! НУЖНА ПОМОЩЬ! Нужна помощь Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |