ADODB(Recordset) -=strSQL с условием на InputBox=-

Dmitriy Indychiy
Дата: 06.11.2009 13:23:06
Народ вообщем столкнулся с задачей доболения записей через Recordset с помощью InputBox

Есть форма(frmPulRemonta) на которой находятся две подформы левая(sfrmKomponenty), правая(sfPulKomponenty)

Суть задачи:
Выделяем запись из левой подформы, нажимаем стрелочку вправо(knpDobavit), вылетает окошечко InputBox, вводим значение(количество, шт.), жмем ОК, после этого запись заносится в правую подформу.

Моё решение:

Private Sub knpDobavit_Click()
Me.pole_Input = GetKolvo


Dim A As Integer
Dim B As Integer
Dim C As Integer
Dim D As Integer
Dim E As Integer
Dim RstX As ADODB.Recordset

A = Me.pole_Input
B = Me.pole_Tsena
C = Me.pole_Sum
D = Me.sfrmKomponenty![Количество]
D = D - A
C = A * B
Me.sfrmKomponenty.SetFocus
Me.sfrmKomponenty![Количество] = D

Set RstX = New ADODB.Recordset
RstX.Open "tblPulKomponenty", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
RstX.AddNew
RstX.Fields("КодКомпонента") = Me("pole_Kod")
RstX.Fields("Наименование") = Me("pole_Naimenovanie")
RstX.Fields("Количество") = Me("pole_Input")
RstX.Fields("Цена") = Me("pole_Tsena")
RstX.Fields("Сумма") = Me("pole_Sum")
RstX.Update
RstX.Close
Set RstX = Nothing
Me.sfPulKomponenty.Requery
Me.pole_Naimenovanie.Requery
Me.pole_Input.Requery
Me.pole_Tsena.Requery
Me.pole_Sum.Requery
End Sub



тут использую :
RstX.Open "tblPulKomponenty", CurrentProject.Connection, adOpenKeyset, adLockOptimistic


а нужно:
Dim strSQL As String
strSQL = "SELECT ...(условие GetKolvo....)"
RstX.Open strSQL, CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dmitriy Indychiy
Дата: 06.11.2009 13:30:58
файлы разных версий акса прилогаю:

http://files.mail.ru/QFTT2J
Dmitriy Indychiy
Дата: 06.11.2009 13:32:27
вношу пояснение

Public Function GetKolvo()
GetKolvo = InputBox("Введите количество деталек")
End Function



Может кто-то сталкивался, буду признателен за помощь начинающему)))
П-Л
Дата: 06.11.2009 13:37:51
В правой подформе добавить поле количество куда и впечатывать нужное число безо всяких инпутбоксов.
П-Л
Дата: 06.11.2009 13:43:42
Невнимательно посмотрел, исходное количество уменьшается на ту же величину. Стало быть, задача вычисления остатков по оборотам. Ищите по форуму, много предложений и разъяснений на эту тему. Ваша конструкция пока до велосипеда не дотягивает.
Dmitriy Indychiy
Дата: 06.11.2009 13:46:55
этот вариант уже пробывал, он кстати в текщей БД работает.

Тут идея другого характера:
Дело в том что есть еще одна форма(ленточная) в ней находятся данные о технике, которая ждет ремонта, после нажатия на кнопку "Detaling", открывается тот вариант, который Вы мне предложили.... в нем я не могу присвоить сразу несколько позицый деталек, это не удобно для меня))) Например:
Принесли в ремонт пылесос, его приняли в ремонт, присвоили инженера, который будет им заниматься, вот тут-то мы и вставляем детальки, в данном случае, я могу только двигатель присвоить, а вот щетки(вторая позиция деталей) не получается(((

Для этого я создал еще одну таблицу и обозвал ее tblPulRemonta, она необходима мне в качетсве буфера данных(деталек) для техники!
Dmitriy Indychiy
Дата: 06.11.2009 13:49:51
Прошу прощения опечатался, tblPulKomponenty