Hallo,
Ik werk al 10 jaar met een bepaalde database (gebouwd in 2002 versie, nu draaiend op 2010) zonder problemen. Plotseling verschijnt er een 80014e40 foutmelding bij het selecteren van een jaartal uit de uitklaplijst.
"Microsoft Visual Basic
Fout -2147217900 (80040e14) tijdens uitvoering:
De instructie UPDATE bevat een syntaxisfout."
Bij de foutopsporing zie ik de volgende tekst:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.Refresh
adocmd.Execute[/COLOR]
End If
adorst.Close
waarin adocmd.Execute. als fout wordt aangemerkt.
Wat gaat er mis?
Alvast dank om mee te denken
Tony
Voor de volledigheid de volledige tekst:
Ik werk al 10 jaar met een bepaalde database (gebouwd in 2002 versie, nu draaiend op 2010) zonder problemen. Plotseling verschijnt er een 80014e40 foutmelding bij het selecteren van een jaartal uit de uitklaplijst.
"Microsoft Visual Basic
Fout -2147217900 (80040e14) tijdens uitvoering:
De instructie UPDATE bevat een syntaxisfout."
Bij de foutopsporing zie ik de volgende tekst:
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.Refresh
adocmd.Execute[/COLOR]
End If
adorst.Close
waarin adocmd.Execute. als fout wordt aangemerkt.
Wat gaat er mis?
Alvast dank om mee te denken
Tony
Voor de volledigheid de volledige tekst:
Code:
[I]Option Compare Database
Dim blnInsert As Boolean
'Dim blnChangedByUser As Boolean
'Private Sub cmbGemeente_Change()
Private Sub cmbJaar_AfterUpdate()
Dim adorst As ADODB.Recordset
Dim adocmd As New ADODB.Command
Set adorst = New ADODB.Recordset
adorst.Open "SELECT tblJaarMaand.intJaarId FROM tblJaarMaand WHERE (((tblJaarMaand.idsJaarMaandId)=" + CStr(txtMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
If CInt(cmbJaar.Value) <> adorst("intJaarId").Value Then
Set adocmd.ActiveConnection = CurrentProject.Connection
adorst.Close
adorst.Open "SELECT tblJaarMaand.idsJaarMaandId FROM tblJaarMaand WHERE (((tblJaarMaand.intJaarId)=" + CStr(cmbJaar.Value) + ") AND ((tblJaarMaand.intMaandId)=" + CStr(cmbMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
adocmd.CommandText = "UPDATE tblFirma SET tblFirma.intMaandId=" + CStr(adorst("idsJaarMaandId").Value) + " WHERE (((tblFirma.idsFirmaId)=" + CStr(Form_frmFirmalijst.cmbFirma.Value) + "));"
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.Refresh
adocmd.Execute
End If
adorst.Close
End Sub
Private Sub cmbMaand_AfterUpdate()
Dim adorst As ADODB.Recordset
Dim adocmd As New ADODB.Command
Set adorst = New ADODB.Recordset
adorst.Open "SELECT tblJaarMaand.intMaandId FROM tblJaarMaand WHERE (((tblJaarMaand.idsJaarMaandId)=" + CStr(txtMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
If CInt(cmbMaand.Value) <> adorst("intMaandId").Value Then
Set adocmd.ActiveConnection = CurrentProject.Connection
adorst.Close
adorst.Open "SELECT tblJaarMaand.idsJaarMaandId FROM tblJaarMaand WHERE (((tblJaarMaand.intJaarId)=" + CStr(cmbJaar.Value) + ") AND ((tblJaarMaand.intMaandId)=" + CStr(cmbMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
adocmd.CommandText = "UPDATE tblFirma SET tblFirma.intMaandId=" + CStr(adorst("idsJaarMaandId").Value) + " WHERE (((tblFirma.idsFirmaId)=" + CStr(Form_frmFirmalijst.cmbFirma.Value) + "));"
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Me.Refresh
adocmd.Execute
End If
adorst.Close
End Sub
' If blnChangedByUser = False Then
' blnChangedByUser = True
' cmbPostcode.SetFocus
' cmbPostcode.ListIndex = cmbGemeente.ListIndex
' blnChangedByUser = False
' End If
'End Sub
'Private Sub cmbPostcode_Change()
' If blnChangedByUser = False Then
' blnChangedByUser = True
' cmbGemeente.SetFocus
' cmbGemeente.ListIndex = cmbPostcode.ListIndex
' blnChangedByUser = False
' End If
'End Sub
Private Sub cmdVerwijderen_Click()
On Error GoTo Err_cmdVerwijderen_Click
Dim intFirmaId As Integer
Dim strFirmanaam As String
Dim adorst As ADODB.Recordset
Set adorst = New ADODB.Recordset
Dim varMsgBoxResult As vbMsgBoxResult
strSQL = "SELECT idsFirmaId, FIRMANAAM FROM tblFirma WHERE idsFirmaId=" & CInt(Form_fsubProduct.intFirmaId)
adorst.Open strSQL, CurrentProject.Connection, adOpenStatic
'adorst.Open "SELECT FIRMANAAM FROM tblFirma WHERE tblFirma.idsFirmaId=" + Form_frmFirmalijst.cmbFirma + ";", CurrentProject.Connection, adOpenStatic
If adorst.BOF = False Then
intFirmaId = adorst("idsFirmaId").Value
If adorst("FIRMANAAM").Value <> "" Then
strFirmanaam = UCase(adorst("FIRMANAAM").Value)
Else
strFirmanaam = "NAAMLOOS"
End If
End If
adorst.Close
varMsgBoxResult = MsgBox("Weet u zeker dat u firma " + strFirmanaam + " wilt verwijderen?", vbYesNo + vbExclamation, "Firmalijst")
If varMsgBoxResult = vbYes Then
Dim adocmd As New ADODB.Command
Set adocmd.ActiveConnection = CurrentProject.Connection
strSQL = "DELETE * FROM tblFirmaProduct WHERE tblFirmaProduct.intFirmaId=" & intFirmaId
adocmd.CommandText = strSQL
'adocmd.CommandText = "DELETE * FROM tblFirmaProduct WHERE (((tblFirmaProduct.intFirmaId)=" + Form_frmFirmalijst.cmbFirma + "));"
adocmd.Execute
strSQL = "DELETE * FROM tblFirma WHERE tblFirma.idsFirmaId=" & intFirmaId
adocmd.CommandText = strSQL
'adocmd.CommandText = "DELETE * FROM tblFirma WHERE (((tblFirma.idsFirmaId)=" + Form_frmFirmalijst.cmbFirma + "));"
adocmd.Execute
Form_frmFirmalijst.cmbFirma.Requery
Form_frmFirmalijst.cmbFirma.SetFocus
Form_frmFirmalijst.cmbFirma.ListIndex = 0
End If
Exit_cmdVerwijderen_Click:
Exit Sub
Err_cmdVerwijderen_Click:
MsgBox Err.Description
Resume Exit_cmdVerwijderen_Click
End Sub
Private Sub FIRMANAAM_AfterUpdate()
If blnInsert = True Then
DoCmd.DoMenuItem acFormBar, acRecordsMenu, acSaveRecord, , acMenuVer70
Form_frmFirmalijst.cmbFirma.Requery
Form_frmFirmalijst.cmbFirma.SetFocus
Form_frmFirmalijst.cmbFirma.Text = FIRMANAAM.Value
Form_frmFirmalijst.fsubFirma.SetFocus
SendKeys "{Tab}"
Form_fsubFirma.Requery
'Form_fsubProduct.Requery
Form_frmProduct.Productdetail.Requery
blnInsert = False
Else
Form_frmFirmalijst.Refresh
End If
End Sub
Private Sub Form_BeforeInsert(Cancel As Integer)
blnInsert = True
End Sub
Private Sub Form_Current()
If txtMaand.Value <> "" Then
Dim adorst As ADODB.Recordset
Set adorst = New ADODB.Recordset
adorst.Open "SELECT tblJaar.idsJaarId, tblMaand.idsMaandId FROM tblMaand INNER JOIN (tblJaar INNER JOIN tblJaarMaand ON tblJaar.idsJaarId = tblJaarMaand.intJaarId) ON tblMaand.idsMaandId = tblJaarMaand.intMaandId WHERE (((tblJaarMaand.idsJaarMaandId)=" + CStr(txtMaand.Value) + "));", CurrentProject.Connection, adOpenStatic
cmbJaar = adorst("idsJaarId").Value
cmbMaand = adorst("idsMaandId").Value
adorst.Close
Form_frmFirmalijst.cmbFirma.SetFocus
End If
End Sub
Private Sub Form_Load()
blnInsert = False
'blnChangedByUser = False
End Sub
Private Sub cmdToevoegen_Click()
On Error GoTo Err_cmdToevoegen_Click
Dim adorst As ADODB.Recordset
Dim adocmd As New ADODB.Command
Set adorst = New ADODB.Recordset
Set adocmd.ActiveConnection = CurrentProject.Connection
adorst.Open "SELECT tblJaarMaand.idsJaarMaandId FROM tblMaand INNER JOIN (tblJaar INNER JOIN tblJaarMaand ON tblJaar.idsJaarId = tblJaarMaand.intJaarId) ON tblMaand.idsMaandId = tblJaarMaand.intMaandId WHERE (((tblJaar.chrJaartal)=Year(Date())) AND ((tblMaand.chrMaandNaam)=MonthName(Month(Date()))));", CurrentProject.Connection, adOpenStatic
adocmd.CommandText = "INSERT INTO tblFirma (intMaandId) VALUES(" & adorst("idsJaarMaandId").Value & ");"
adocmd.Execute
adorst.Close
Form_frmFirmalijst.cmbFirma.Requery
adorst.Open "SELECT LAST(idsFirmaId) As NewFirmaId FROM tblFirma;", CurrentProject.Connection, adOpenStatic
Form_frmFirmalijst.cmbFirma.Value = adorst("NewFirmaId").Value
adorst.Close
Form_fsubFirma.Requery
Form_fsubProduct.Requery
'Form_frmProduct.Productdetail.Requery
Form_frmFirmalijst.fsubFirma.SetFocus
FIRMANAAM.SetFocus
Exit_cmdToevoegen_Click:
Exit Sub
Err_cmdToevoegen_Click:
MsgBox Err.Description
Resume Exit_cmdToevoegen_Click
End Sub
[/I]
Laatst bewerkt: