Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Vba запрос / 25 сообщений из 74, страница 1 из 3
01.02.2016, 15:12
    #39160281
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
Как прописать готовый запрос (аксес) на вставку в VBA. в запросе заполняются 3 поля, 2 из них берут значения из формы, а третье поле заполняется еще из одного запроса.

Private Sub Кнопка4_Click()
With CurrentDb.QueryDefs("Insert_tov")
.Parameters("Nd") = Me.Поле1
.Parameters("Nt") = Me.Поле2
.Execute
End With
End Sub

Я так делала, все работают. а в этом мне пишет мало параметров. в чем может быть ошибка?
спасибо!
...
Рейтинг: 0 / 0
01.02.2016, 15:14
    #39160283
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

возможно поля 1 или 2 пустые
мы ведь даже их тип не видим
для дат вообще свои законы
==========
выложите базу или хотя бы
--запрос
--значения полей 1 и 2
...
Рейтинг: 0 / 0
01.02.2016, 15:17
    #39160287
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
INSERT INTO Product_report ( N_rep, R_date, СуммаНаПочаток )
SELECT [Nt] AS Выражение1, [Nd] AS Выражение2, Zaluwku.[остаток_на_ начало_ дня]
FROM Zaluwku;
это запрос вставки
соответственно поле1 дата, оно не пустое при проверке все значение ввожу с формы
...
Рейтинг: 0 / 0
01.02.2016, 15:20
    #39160290
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

но дата должна вводится в американском формате mm/dd/yyyy
вряд ли вы это обеспечили
...
Рейтинг: 0 / 0
01.02.2016, 15:21
    #39160294
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
ПЕНСИОНЕРКА,
подскажите, пожалуйста, как это сделать)
я маску на форме прописала на дату 00.00.0000;0;" "
...
Рейтинг: 0 / 0
01.02.2016, 15:58
    #39160335
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

я видимо сделала та, что бы уменьшить возню с кавычками(если я конечно не перепутала поля 1 2)
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Private Sub Кнопка4_Click()
Dim s1
s1 = "INSERT INTO Product_report ( N_rep, R_date, СуммаНаПочаток )"
s1 = s1 & " SELECT [Nt] , [Nd] ,"
s1 = s1 & " Zaluwku.[остаток_на_ начало_ дня]"
s1 = s1 & " FROM Zaluwku;"

s1 = Replace(s1, "[nt]", Me.Поле1)
s1 = Replace(s1, "[nd]", Format(Me.Поле2, "\#mm\/dd\/yyyy\#"))

Debug.Print s1
CurrentDb.Execute s1
End Sub
...
Рейтинг: 0 / 0
01.02.2016, 16:02
    #39160338
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
ПЕНСИОНЕРКА,Спасибо огромное за помощь!
но все равно говорит,что мало параметров.
может у меня криво что-то стоит?
...
Рейтинг: 0 / 0
01.02.2016, 16:06
    #39160341
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

может я поля 1 2 перепутала или у вас одно из полей пустое или одно дата, второе символьное
...
Рейтинг: 0 / 0
01.02.2016, 16:09
    #39160351
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
ПЕНСИОНЕРКА, проверила, все правильно, вы не ошиблись.
...
Рейтинг: 0 / 0
01.02.2016, 16:15
    #39160359
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

у меня работает(создала отладочную таблички)
выложите базу ---иначе не угадать ситуацию
...
Рейтинг: 0 / 0
01.02.2016, 16:18
    #39160363
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
ПЕНСИОНЕРКА, спасибо еще раз) не могу выложить)
...
Рейтинг: 0 / 0
01.02.2016, 16:22
    #39160368
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

Сколько записей должно вставиться?
Одна?
Тогда нужно ввести ограничение на выборку из таблицы Zaluwku.
Либо WHERE Zaluwku.<дата> = Format(Me.Поле2, "\#mm\/dd\/yyyy\#"), либо TOP 1, либо еще как-то.
...
Рейтинг: 0 / 0
01.02.2016, 16:30
    #39160380
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
__Michelle,
так тоже говорит, что мало параметров(
...
Рейтинг: 0 / 0
01.02.2016, 16:33
    #39160384
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsaПЕНСИОНЕРКА, спасибо еще раз) не могу выложить)
никто же у вас не просил реальные таблицы
учитесь делать отладочные
--сохранение структуры
--2-3 записи
...
Рейтинг: 0 / 0
01.02.2016, 16:42
    #39160402
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

Ответьте, пожалуйста,
— какие типы полей,
— сколько записей должно вставиться,
— если одна, по какому признаку выбирается поле из таблицы Zaluwku.
...
Рейтинг: 0 / 0
01.02.2016, 16:48
    #39160413
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
__Michelle,

__Michelle,
N_rep числовой,
R_date дата/время
сумманапочаток числовой.
должна вставляться одна запись.

INSERT INTO Product_report ( N_rep, R_date, СуммаНаПочаток )
SELECT [nt] AS Выражение1, [nd] AS Выражение2, Zaluwku.[остаток_на_ начало_ дня]
FROM Zaluwku
WHERE ((([nd])=[Forms]![Trade_report]![Поле1]));
...
Рейтинг: 0 / 0
01.02.2016, 17:21
    #39160460
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa__Michelle,

__Michelle,
N_rep числовой,
R_date дата/время
сумманапочаток числовой.
должна вставляться одна запись.

INSERT INTO Product_report ( N_rep, R_date, СуммаНаПочаток )
SELECT [nt] AS Выражение1, [nd] AS Выражение2, Zaluwku.[остаток_на_ начало_ дня]
FROM Zaluwku
WHERE ((([nd])=[Forms]![Trade_report]![Поле1]));
Код: vbnet
1.
2.
3.
4.
strSQL = "INSERT INTO Product_report (N_rep, R_date, СуммаНаПочаток) " & 
         "VALUES (" & Me.Поле1 & "," & Format(Me.Поле2, "\#mm\/dd\/yyyy\#") & "," & 
         DLookUp("[остаток_на_ начало_ дня]", "Zaluwku", "[nd]=" & Me.Поле1)
CurrentDb.Execute strSQL
...
Рейтинг: 0 / 0
01.02.2016, 17:28
    #39160467
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
Небольшая недоделка, поправляю.
Код: vbnet
1.
2.
3.
4.
strSQL = "INSERT INTO Product_report (N_rep, R_date, СуммаНаПочаток) " & 
         "VALUES (" & Me.Поле1 & "," & Format(Me.Поле2, "\#mm\/dd\/yyyy\#") & "," & 
         DLookUp("[остаток_на_ начало_ дня]", "Zaluwku", "[nd]=" & Me.Поле1) & ")"
CurrentDb.Execute strSQL
...
Рейтинг: 0 / 0
01.02.2016, 17:33
    #39160473
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
http://www.sql.ru/faq/faq_topic.aspx?fid=157

Например, нет ли там десятичной запятой в первом числе?
...
Рейтинг: 0 / 0
01.02.2016, 17:37
    #39160477
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
Владимир Саныч,
нет,целое число
...
Рейтинг: 0 / 0
01.02.2016, 17:57
    #39160492
__Michelle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

Если до сих пор ничего не выходит, остается добавить Nz к [остаток_на_ начало_ дня].
Код: vbnet
1.
2.
3.
strSQL = "INSERT INTO Product_report (N_rep, R_date, СуммаНаПочаток) " & 
         "VALUES (" & Me.Поле1 & "," & Format(Me.Поле2, "\#mm\/dd\/yyyy\#") & "," & 
         Nz(DLookUp("[остаток_на_ начало_ дня]", "Zaluwku", "[nd]=" & Me.Поле1)) & ")"

Как теперь?
...
Рейтинг: 0 / 0
01.02.2016, 23:26
    #39160606
Владимир Саныч
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
А что вообще получается в переменной strSQL?
...
Рейтинг: 0 / 0
02.02.2016, 09:03
    #39160704
zagadochnitsa
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
Все время выдает, что слишком мало параметров)
...
Рейтинг: 0 / 0
02.02.2016, 09:56
    #39160749
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

где-то лишние запятіе или апострофі
больше наврать здесь негде
...
Рейтинг: 0 / 0
02.02.2016, 10:00
    #39160752
ПЕНСИОНЕРКА
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Vba запрос
zagadochnitsa,

и добавьте отладку для просмотра в окне отладки
Код: vbnet
1.
2.
3.
4.
strSQL = "INSERT INTO Product_report (N_rep, R_date, СуммаНаПочаток) " & 
         "VALUES (" & Me.Поле1 & "," & Format(Me.Поле2, "\#mm\/dd\/yyyy\#") & "," & 
         Nz(DLookUp("[остаток_на_ начало_ дня]", "Zaluwku", "[nd]=" & Me.Поле1)) & ")"
debug.print strSQL



и сомневаюсь в єтом "[nd]=" & Me.Поле1)) & ")"
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Vba запрос / 25 сообщений из 74, страница 1 из 3
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]