There is a form in an Access Project (.adp, Access front end with SQL
Server) for entering data into a table for temporary storing. Then, by
clicking a botton, several action stored procedures (update, append) should
be activated in order to transfer data to other tables.
I tried to avoid any coding in VB, as I am not a professional, but I have
found a statement in an article, that, unlike select queries, form's Input
Property can't be used for action queries. Therefore, parameters can be
passed to action stored procedure only by using ADO through VB.
As I'm not very familiar with VB, I had to search in literature.
So, this is a solution based on creating Parameter object in ADO and then
appending values to Parameter collection.
Please, consider the following procedure I created for passing parameters
from form's control objects (Text boxes) to a stored procedure
DTKB_MB_UPDATE:
Private Sub Command73_Click()
Dim cmd As ADODB.Command
Set cmd = New ADODB.Command
cmd.ActiveConnection = CurrentProject.Connection
cmd.CommandText = "DTKB_MB_UPDATE"
cmd.CommandType = adCmdStoredProc
Dim par As ADODB.Parameter
Set par = cmd.CreateParameter("@DATE", adDBTimeStamp, adParamInput)
cmd.Parameters.Append par
Set par = cmd.CreateParameter("@BATCH_NUMBER", adVarWChar, adParamInput, 50)
cmd.Parameters.Append par
Set par = cmd.CreateParameter("@STATUS", adVarWChar, adParamInput, 50)
cmd.Parameters.Append par
Set par = cmd.CreateParameter("@DEPARTMENT", adVarWChar, adParamInput, 50)
cmd.Parameters.Append par
Set par = cmd.CreateParameter("@PRODUCTION", adVarWChar, adParamInput, 50)
cmd.Parameters.Append par
Set par = cmd.CreateParameter("@SAMPLING_TYPE", adVarWChar, adParamInput,
50)
cmd.Parameters.Append par
cmd.Parameters("@DATE") = Me.DATE
cmd.Parameters("@BATCH_NUMBER") = Me.BATCH_NUMBER
cmd.Parameters("@STATUS") = Me.STATUS
cmd.Parameters("@DEPARTMENT") = Me.DEPARTMENT
cmd.Parameters("@PRODUCTION") = Me.PRODUCTION
cmd.Parameters("@SAMPLING_TYPE") = Me.SAMPLING_TYPE
cmd.Execute
Set cmd = Nothing
End Sub
Unfortunately, when clicking on the botton, the following error apears:
"Run-time error'-2147217913 (80040e07)':Syntax error converting datetime
from character string."
Obviously, there is some problem regarding parameter @DATE. In SQL Server it
is datetime, on the form's onbound text box it is short date (dd.mm.yyyy)
data type. I have found in literature that in ADO it should be
adDBTimeStamp.
So, what is the problem ?
Greetings,
Zlatko