I have written an insert query which inserts datetime along with other columns. It works fine for all locations except when
my German client logs in and runs the application it gives him below error. I have formatted the datevalue to yyyy-mm-dd to make
culture independent.
MS access database is stored in a server in US.
German client is running application from Germany.
strDateSubmit = dtpDateSub.Value.ToString("yyyy-MM-dd")
strSaveOSTR = "INSERT INTO " & strOSTR & " ([OSTR #],[OSTR Type],[# of Samples],[RA#],[Customer],[SKF #],[Test Description]," & _
"[TestLength],[TestUnit],[TestLengthDays],[Requestor],[Date Submitted],[Seals Avail],[Fixtures Available],[Peripherals Avail],[PO Avail]," & _
"[Machine Type],[Hours to Process],[Location],[Current Status],[ErrorsPresent],[ContaminType]" & SampleREcvd1 & ", [Emp_ID],[Industry])" & _
" Values ( '" & strOSTRNum & "', '" & cmbOSTRTypes.Text & "', " & intSamples & ", '" & strRA & "', '" & strCustomer & "', '" & strSKFNum & _
"', '" & strTestDescr & "', " & intTestLength & ", '" & strTestUnits & "', '" & txtTestLDays.Text & "', '" & strRequestor & "', #" & strDateSubmit & "#, '" & strSealAvail & _
"', '" & strFixtAvail & "', '" & strPheriAvail & "', '" & strPOAvail & "', '" & strMachineClass & "', " & intHrstoProc & ",'" & g_objProp.Location & _
"', '" & strStatus & "', '" & ErrorsPresent & "', '" & ContaminationType & "'" & SampleREcvd2 & ", '" & emp_id & "', '" & Industry & "')"
Error: Syntaxfehler in Datum in Abfrageausdruck '#01.02.2016'
Do yourself a favor: Scrap the dynamic SQL and use a parameterized query, e.g.,
sampleSQL = "INSERT INTO TableName ([Date Submitted]) VALUES (?)"
Dim cmd = New OleDbCommand(sampleSQL, conn)
cmd.Parameters.AddWithValue("?", dtpDateSub.Value)
cmd.ExecuteNonQuery()
That way you can use the actual DateTime value returned by the DateTimePicker. You don't have to be concerned with locale settings or string formats or any of those aggravations.
You may need a more strict format of the date expression string:
strDateSubmit = dtpDateSub.Value.ToString("yyyy'/'MM'/'dd")
This will always return a date like "2016/02/01" (no dots or dashes), and it will concatenate correctly here:
"', #" & strDateSubmit & "#, '"
as you intend.
Related
The Error shows its there is an Invalid of the . (Dot) Or ! operator
If IsNull(Me.m_1) Or IsNull(Me.u_1) Or Me.m_1 = "" Or Me.u_1 = "" Then
MsgBox "Please add all needed info"
Else
sqls = "INSERT INTO User_access (Application_ID, Modul_ID, username_ID, Clock_ID, Assinged_date, Assinged_by, Request_number) values('" & Me.A_1 & "', '" & Me.m_1 & "', '" & Me.u_1 & "', '" & Me.Clock_ID & "', '" & Date & "', '" & Me.Assinged_by & "', '" & Me.Request_number & "');"
DoCmd.RunSQL sqls
End If
I cannot see any error within the code So please Help me
Use Date():
sqls = "INSERT INTO User_access (Application_ID, Modul_ID, username_ID, Clock_ID, Assinged_date, Assinged_by, Request_number) values('" & Me.A_1 & "', '" & Me.m_1 & "', '" & Me.u_1 & "', '" & Me.Clock_ID & "', Date(), '" & Me.Assinged_by & "', '" & Me.Request_number & "');"
And no quoting of numeric values.
I'm doing a project and I just used some code from YouTube where it seemed to work, but it isn't working for me. I am getting this message. :/
Run-time Error: '3134':
Syntax Error in INSERT INTO statement.
Here's the code:
Private Sub Dodaj_Click()
CurrentDb.Execute "INSERT INTO Rezervacije( JMBG, Grad, Broj dana, Broj osoba) " & _
" VALUES('" & Me.JMBG & "', '" & Me.Destinacija & "', '" & Me.Dani & "', '" & Me.Osobe & "')"
CurrentDb.Execute "INSERT INTO Putnici(Broj licne karte, Ime, Prezime, JMBG, Mobilni, Email, Pol) " & _
" VALUES('" & Me.Licna & "', '" & Me.Ime & "', '" & Me.Prezime & "', '" & Me.JMBG & "', '" & Me.Mobilni & "', '" & Me.Email & "', '" & Me.Pol & "')"
End Sub
I have a database with a form that was working just fine, however now after I split the Database I'm getting an error:
There is an invalid use of the . (dot) or ! operator or invalid Parentheses.
This is the code targeted by the Debugger
DoCmd.RunSQL ("Insert Into TestingStatistics (BadgeNumber, TestName, College, Instructor, SigninTime, Special) " & _
"Values ('" & Me.txtBadgeNo.Value & "', '" & strTestName & "', '" & strCollege & "', '" & strInstructor & "', Now(), '" & Me.chkSpecial.Value & "');")
When I remove the Me.txtBadgeNo.Value and Me.chkSpecial.Value
"Values (" & strTestName & "', '" & strCollege & "', '" & strInstructor & "', Now());")
I get the error:
Syntax Error (Missing operator) in query expression 'Medicine', 'Medicine, 'Larsen', Now());'.
Again, this worked before I split the database, I need this insert statement to work, what's going on?
"Values (" & strTestName & "', '" & strCollege & "', '" & strInstructor & "', '" & Now() & "');")
You cannot just delete values; the count must match the count of fields.
Try this:
DoCmd.RunSQL ("Insert Into TestingStatistics (BadgeNumber, TestName, College, Instructor, SigninTime, Special) " & _
"Values (" & Me!txtBadgeNo.Value & ", '" & strTestName & "', '" & strCollege & "', '" & strInstructor & "', Now(), " & Me!chkSpecial.Value & ");")
Edit, to debug:
Dim SQL As String
SQL = _
"Insert Into TestingStatistics (BadgeNumber, TestName, College, Instructor, SigninTime, Special) " & _
"Values (" & Me!txtBadgeNo.Value & ", '" & strTestName & "', '" & strCollege & "', '" & strInstructor & "', Now(), " & Me!chkSpecial.Value & ");"
Debug.Print SQL
DoCmd.RunSQL SQL
I have a problem of syntax ( rror 3134) with my SQL query....
Here is the query :
StrSQL1 = "INSERT INTO Repos (Num_utilisateur, Nb_conges_semaine1, Nb_conges_semaine2, Nb_conges_semaine3, Nb_conges_semaine4, Total_conges_mois1, Nb_conges_semaine5, Nb_conges_semaine6, Nb_conges_semaine7, Nb_conges_semaine8, Total_conges_mois2, Nb_conges_semaine9, Nb_conges_semaine10, Nb_conges_semaine11, Nb_conges_semaine12, Total_conges_mois3, Nb_JoursFeries_semaine1, Nb_JoursFeries_semaine2, Nb_JoursFeries_semaine3, Nb_JoursFeries_semaine4, Total_Nb_JoursFeries_mois1, Nb_JoursFeries_semaine5, Nb_JoursFeries_semaine6, Nb_JoursFeries_semaine7, Nb_JoursFeries_semaine8, Total_Nb_JoursFeries_mois2, Nb_JoursFeries_semaine9, Nb_JoursFeries_semaine10, Nb_JoursFeries_semaine11, Nb_JoursFeries_semaine12, Nb_AutresAbsences_semaine1, Nb_AutresAbsences_semaine2, Nb_AutresAbsences_semaine3, Nb_AutresAbsences_semaine4, Total_Nb_AutresAbsences_mois1, Nb_AutresAbsences_semaine5, Nb_AutresAbsences_semaine6, Nb_AutresAbsences_semaine7, Nb_AutresAbsences_semaine8," & _ "# Total_Nb_AutresAbsences_mois2, Nb_AutresAbsences_semaine9, Nb_AutresAbsences_semaine10, Nb_AutresAbsences_semaine11, Nb_AutresAbsences_semaine12, Total_Nb_AutresAbsences_mois3, Total_general) VALUES ('" & NumAgent & "', '" & Conges_1 & "', '" & Conges_2 & "', '" & Conges_3 & "', '" & Conges_4 & "', '" & CongesTotalMois1 & "', '" & Conges_5 & "', '" & Conges_6 & "', '" & Conges_7 & "', '" & Conges_8 & "', '" & CongesTotalMois2 & "', '" & Conges_9 & "', '" & Conges_10 & "', '" & Conges_11 & "', '" & Conges_12 & "', '" & CongesTotalMois3 & "', '" & JourFeriee_1 & "', '" & JourFeriee_2 & "', '" & JourFeriee_3 & "', '" & JourFeriee_4 & "', '" & JourFerieeTotalMois1 & "', '" & JourFeriee_5 & "', '" & JourFeriee_6 & "', '" & JourFeriee_7 & "', '" & JourFeriee_8 & "', '" & JourFerieeTotalMois2 & "', '" & JourFeriee_9 & "', '" & JourFeriee_10 & "', '" & JourFeriee_11 & "', '" & JourFeriee_12 & "', '" & JourFerieeTotalMois3 & "'," & _ "# '" & JourAutre1 & "', '" & JourAutre2 & "', '" & JourAutre3 & "', '" & JourAutre4 & "', '" & JourAutreTotalMois1 & "', '" & JourAutre5 & "', '" & JourAutre6 & "', '" & JourAutre7 & "', '" & JourAutre8 & "', '" & JourAutreTotalMois2 & "', '" & JourAutre9 & "', '" & JourAutre10 & "', '" & JourAutre11 & "', '" & JourAutre12 & "', '" & JourAutreTotalMois3 & "', '" & TotalGeneral & "');"
Sorry It's a long query...
Thank you in advance for your help !
if i do not see wrong i count 46 fields but 47 values. The number of fields and values must be the same.
Your have in your INSERT clause:
# Total_Nb_AutresAbsences_mois2
In your VALUES clause:
# JourAutre1
They're invalid field names.
Try removing the # symbol.
Edit:
Both #Karthick and #Michelle are correct as you're missing that field in your results.
Also hope I'm correct about the # symbol being invalid.
is this command correct for inserting a single value,
"INSERT INTO test (testname) values ('" & txtSelect.Text & "')"
actually i'm trying to insert via this command, but its not working..
"INSERT INTO AdmitPt(Bedcategory, BedNo, BedCharges, PtName, PtAge, Address, PhoneNo,
Date, BloodGroup, Doctor, Remarks) VALUES('" & CmbBedType.SelectedItem & "', '" &
CmbBedNo.SelectedItem & "', " & txtCharges.Text & "', '" & txtPatName.Text & "', '" &
txtPatAge.Text & "', '" & txtPatAdd.Text & "', '" & txtPhone.Text & "', '" &
dtpDate.Value.ToShortDateString & "', '" & cmbBloodGrp.SelectedItem & "', '" &
cmbDoctor.SelectedItem & "', " & txtRemarks.Text & ")"
kindly correct me i'm doing some mistake.
If you posted your entire code - you forgot to actually execute the command. Add
comStudent.ExecuteNonQuery()
before closing the connection.
You should be using Text property of SelectedItem
"INSERT INTO AdmitPt(Bedcategory, BedNo, BedCharges, PtName, PtAge, Address, PhoneNo,
Date, BloodGroup, Doctor, Remarks) VALUES('" & CmbBedType.SelectedItem.Text & "', '" &
CmbBedNo.SelectedItem.Text & "', " & txtCharges.Text & "', '" & txtPatName.Text & "', '" &
txtPatAge.Text & "', '" & txtPatAdd.Text & "', '" & txtPhone.Text & "', '" &
dtpDate.Value.ToShortDateString() & "', '" & cmbBloodGrp.SelectedItem.Text & "', '" &
cmbDoctor.SelectedItem.Text & "', " & txtRemarks.Text & ")"
also ToShortDateString is a method and should be writen as ToShortDateString()
no exception is generated, but values are not going to DB.. not stored..
code
Dim RegNo, BedNo, BedType, Charges, PatName, PatAge, PatAddr, Phone, CheckupDate, BloodGroup, Doctor, Remarks As String
RegNo = txtRegNo.Text
BedNo = CmbBedNo.SelectedItem.ToString()
BedType = CmbBedType.SelectedItem.ToString()
Charges = txtCharges.Text
PatName = txtPatName.Text
PatAge = txtPatAge.Text
PatAddr = txtPatAdd.Text
Phone = txtPhone.Text
CheckupDate = dtpDate.Value.ToShortDateString()
BloodGroup = cmbBloodGrp.SelectedItem.ToString()
Doctor = cmbDoctor.SelectedItem.ToString()
Remarks = txtRemarks.Text
conStudent.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=F:\DBProject\hspms.mdb"
conStudent.Open()
comStudent.CommandText = "INSERT INTO AdmitPt(ID, Bedcategory, BedNo, BedCharges, PtName, PtAge, Address, PhoneNo, Date, BloodGroup, Doctor, Remarks) VALUES('" & RegNo & "', '" & BedType & "', '" & BedNo & "', " & Charges & "', '" & PatName & "', '" & PatAge & "', '" & PatAddr & "', '" & Phone & "', '" & CheckupDate & "', '" & BloodGroup & "', '" & Doctor & "', " & Remarks & ")"
comStudent.Connection = conStudent
comStudent.CommandType = CommandType.Text
conStudent.Close()
code