Гость
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Событие на кнопку / 8 сообщений из 8, страница 1 из 1
27.11.2017, 12:06
    #39559901
PavelSu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
Коллеги нужна помощь.

Пытаюсь написать событие на кнопку.
Которая из таблицы «раскладки» брала бы КодТочки и количество
Из таблицы ТоварСНомерами «КодТовараСНомером»
И вставляла бы все это в таблицу «розницаАрхив»

КодТовара определяет все нормально.Проблема:

Помогите пожалуйста, как сделать так,чтобы в т."РозницаГлавная" проставлялась бы текущая дата в поле "ДатаРозница" а кодОперация проставлялось бы "1"

Очень был бы благодарен за помощь специалиста.

Скрин схемы данных и попыток кода прикрепляю
...
Рейтинг: 0 / 0
28.11.2017, 05:10
    #39560262
_гурД
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
Придумали своё событие для кнопки? (Не очень понял из текста.) Поиск по тегам Raise Event , Withevents...
...
Рейтинг: 0 / 0
28.11.2017, 10:11
    #39560357
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
PavelSu, даже незнай в чем помогать.
толи в том что EAN-13 для описания журнала не подходит(бывает спецвыпуски имеют такой же EAN-13).
а по кнопке - что мешает создать рекордсет и проставить все что хочется где хочется?
...
Рейтинг: 0 / 0
28.11.2017, 16:30
    #39560691
nikolay_magagin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
CurrentProject.Connection.Execute "INSERT INTO [A_AAF^1] ([A_AAF_A^K1],[A_AAF_A^K2],[A_AAF_A^K3],[A_AAF_D^K1]) " & _
"VALUES (" & Me.[G_AAO^KO] & ", " & Me.[G_AAN^KO] & ",1,1);"
...
Рейтинг: 0 / 0
29.11.2017, 10:09
    #39561062
PavelSu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
nikolay_magagin погайте,пожалуйста.

CurrentProject.Connection.Execute "INSERT INTO [РозницаАрхив] (КодТоварСНомером, КодТочка,Количество, НомерВДележке ) " & _
"VALUES (" & Me.[G_AAO^KO] & ", " & Me.код & ",1,1);"


" & Me.[G_AAO^KO] & " - что за поле?,и почему в конце 1,1 а где же дата?

alecko отвечаю,рекордсет мешает создать то,что я не то чтобы крут в access(,но если бы добрые люди помогли ...
Уделите минутку?
...
Рейтинг: 0 / 0
29.11.2017, 11:00
    #39561118
alecko
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
PavelSu,
у Вас вроде DAO
Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
Dim str$, rst as recordset, rst2 as recordset
str="РозницаГлавная"
Set rst=Currentdb.Openrecordset(str, dbOpenDynaset)
str="Раскладки"
Set rst2=Currentdb.Openrecordset(str, dbOpenDynaset)
rst2.findfirst "[Счетчик]=" & Me.код

If not rst2.Nomatch then

with rst
   .addnew
        .fields("КодтоварСномером")=Me.код: .fields("Кодточка")=rst2.fields("Кодточка"): .fields("ДатаРозница")=Date:.fields("КодОперация")="1"' и так далее  
   .update
end with

end if
rst.close: rst2.close
Set rst=nothing: Set rst2=nothing


также можно что то вычислять - поэтому этот метод погибче SQL запроса, но более громоздкий.
обработка ошибок и пр. должно быть, но здесь не показано
...
Рейтинг: 0 / 0
29.11.2017, 14:41
    #39561298
nikolay_magagin
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
CurrentProject.Connection.Execute "INSERT INTO [A_AAF^1] ([A_AAF_A^K1],[A_AAF_A^K2],[A_AAF_A^K3]) " & _
"VALUES (" & Me.[G_AAO^KO] & ", Date(),1);"
[G_AAO^KO] - текущее значение из поля формы если хочешь вставить. Нет - не применяй, удали из выражения.
1 - условно постоянное значение, которое ты хочешь вставить.
...
Рейтинг: 0 / 0
30.11.2017, 13:41
    #39561917
PavelSu
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Событие на кнопку
nikolay_magagin ,пока дошёл вот до такой штуки :
CurrentDb.Execute "INSERT INTO [РозницаАрхив] (КодТоварСНомером, КодТочка, НомерВДележке,Количество) " & _
"SELECT КодТовараСНомером, КодТочка,НомерВДележке ,Количество FROM [Раскладки] WHERE ((Раскладки.КодРаскладка) = " & Me.код & ")"
КодРаскладки показывает правильно,пробовал преобразовать запрос на добавление, нифига пока не получилось.

Но пишет слишком мало параметров.Требуется 2 ,буду думать дальше.

alecko ,попробовал как вы советуете,не получается пока(не выдает ошибок,но и не меняется ничего):

Посмотрел какие подставляет значения,смутило что АрхивКод берет первую запись,а не последнюю
Решил ,что это из-за

rst2.FindFirst "[Счетчик]=" & Me.код, заменил счетчик на КодРаскладка,выдает ошибку Элемент не обнаружен в данном семействе.




Dim str$, rst As Recordset, rst2 As Recordset
str = "РозницаГлавная"
Set rst = CurrentDb.OpenRecordset(str, dbOpenDynaset)
str = "Раскладки"
Set rst2 = CurrentDb.OpenRecordset(str, dbOpenDynaset)
rst2.FindFirst "[Счетчик]=" & Me.код

If Not rst2.NoMatch Then

With rst
.AddNew
.Fields("КодтоварСномером") = Me.код: .Fields("Кодточка") = rst2.Fields("Кодточка"): .Fields("ДатаРозница") = Date: .Fields("КодОперация") = "1": .Fields("АрхивКод") = rst.Fields("РозницаКодГлавная"):
.Update
End With

End If
rst.Close: rst2.Close
Set rst = Nothing: Set rst2 = Nothing

End Sub


Никак пока не могу разобраться.Спасибо Вам большое за участие.Очень важная задача для меня . . .
...
Рейтинг: 0 / 0
Форумы / Microsoft Access [игнор отключен] [закрыт для гостей] / Событие на кнопку / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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