How are all friends, I often use MS Access but I am not very good, can you guys help me with this issue, when I save data and access it immediately after some Sometimes the data is accessed properly but sometimes the data is blank,
Private Sub submit_btn_Click()
Dim conn As Object
Dim rs As Object
Dim currentTest As Integer
Dim startTime As Single
disable ' call a sub routine to disable all controls
currentTest = (Nz(DMax("test_fld", "ParametersTbl", "class_fld=" & "'" & Me.class_fld & "'")) + 1)
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & CurrentProject.FullName
Set rs = CreateObject("ADODB.Recordset")
rs.Open "ParametersTbl", conn, 2, 2
rs.AddNew
rs("class_fld").Value = Me.class_fld
rs("students_fld").Value = Me.students_fld
rs("date_fld").Value = Me.date_fld
rs("time_fld").Value = Me.time_fld
rs("test_fld").Value = currentTest
rs("testCentreMale_fld").Value = Me.testCentreMale_fld
rs("testCentreFemale_fld").Value = Me.testCentreFemale_fld
rs("expiry_fld").Value = Me.expiry_fld
rs.Update
rs.Close
Set rs = Nothing
Set conn = Nothing
startTime = Timer
Do
DoEvents
Loop While Timer < startTime + 3
MsgBox "data saved"
'Me.Refresh
class_fld_Change 'call sub routine combo box change event to retreave data in list box
enable ' sub routine to enable controls on form
End Sub
Private Sub class_fld_Change()
Dim db As dao.Database
Dim rs As dao.Recordset
Dim k As Integer
Dim i As Integer
' clear the list but leave the headers
For i = Me.list_box.ListCount - 1 To 1 Step -1
Me.list_box.RemoveItem i
Next i
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT ParametersTbl.* FROM ParametersTbl WHERE class_fld='" & Forms![Parameters_Form]![class_fld] & "' ORDER BY ParametersTbl.test_fld; ")
k = 1
Do While Not rs.EOF
Me.list_box.AddItem rs!ID & ";" & rs!test_fld & ";" & rs!class_fld & ";" & rs!students_fld & ";" & rs!date_fld & ";" & rs!expiry_fld & ";" & rs!time_fld & ";" & rs!testCentreMale_fld & ";" & rs!testCentreFemale_fld
k = k + 1
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub
Private Sub submit_btn_Click()
Dim conn As Object
Dim rs As Object
Dim currentTest As Integer
Dim startTime As Single
disable ' call a sub routine to disable all controls
currentTest = (Nz(DMax("test_fld", "ParametersTbl", "class_fld=" & "'" & Me.class_fld & "'")) + 1)
Set conn = CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & CurrentProject.FullName
Set rs = CreateObject("ADODB.Recordset")
rs.Open "ParametersTbl", conn, 2, 2
rs.AddNew
rs("class_fld").Value = Me.class_fld
rs("students_fld").Value = Me.students_fld
rs("date_fld").Value = Me.date_fld
rs("time_fld").Value = Me.time_fld
rs("test_fld").Value = currentTest
rs("testCentreMale_fld").Value = Me.testCentreMale_fld
rs("testCentreFemale_fld").Value = Me.testCentreFemale_fld
rs("expiry_fld").Value = Me.expiry_fld
rs.Update
rs.Close
Set rs = Nothing
Set conn = Nothing
startTime = Timer
Do
DoEvents
Loop While Timer < startTime + 3
MsgBox "data saved"
'Me.Refresh
class_fld_Change 'call sub routine combo box change event to retreave data in list box
enable ' sub routine to enable controls on form
End Sub
Private Sub class_fld_Change()
Dim db As dao.Database
Dim rs As dao.Recordset
Dim k As Integer
Dim i As Integer
' clear the list but leave the headers
For i = Me.list_box.ListCount - 1 To 1 Step -1
Me.list_box.RemoveItem i
Next i
Set db = CurrentDb
Set rs = db.OpenRecordset("SELECT ParametersTbl.* FROM ParametersTbl WHERE class_fld='" & Forms![Parameters_Form]![class_fld] & "' ORDER BY ParametersTbl.test_fld; ")
k = 1
Do While Not rs.EOF
Me.list_box.AddItem rs!ID & ";" & rs!test_fld & ";" & rs!class_fld & ";" & rs!students_fld & ";" & rs!date_fld & ";" & rs!expiry_fld & ";" & rs!time_fld & ";" & rs!testCentreMale_fld & ";" & rs!testCentreFemale_fld
k = k + 1
rs.MoveNext
Loop
rs.Close
Set rs = Nothing
Set db = Nothing
End Sub