I had a post about Listboxes under the Forms heading. It fixed the listboxes but it error'd on DAO so I changed all the code to ADO. (extreme novice).
Now it is erroring on rs ("Analyst") = cboAnalyst.Value
Code:
Private Sub cmdAddVAC_Click()
Dim db As ADODB.Connection
Set db = CurrentProject.Connection ' Access gives an ADODB object too!
Dim rs As ADODB.Recordset
Set rs = New ADODB.Recordset
rs.Open "tblPerfIssues", CurrentProject.Connection, adOpenKeyset, adLockOptimistic
Dim i As Variant
Dim issuesValue As String, vacancyValue As String
On Error GoTo ErrorHandler
If Len(Me.cboAnalyst & vbNullString) = 0 Or Len(Me.txtReportDate & vbNullString) = 0 Or Len(Me.cboContractNumber & vbNullString) = 0 Then
MsgBox "Please fill in Analyst/Specialist, Report Date and Contract Number"
Else
If Not IsNull(txtContractorOnset) And Me.lstContractorIssues.ItemsSelected.Count = 0 Then
MsgBox "Please select at least one item from Contractor Issues"
Else
'loop through the multi select list box lstContractorIssues to get issues
For Each i In Me.lstContractorIssues.ItemsSelected
issuesValue = issuesValue & ", " & Me.lstContractorIssues.ItemData(i)
Next i
'loop through the multi select list box lstVacancyReason to get reasons
For Each i In Me.lstVacancyReason.ItemsSelected
vacancyValue = vacancyValue & ", " & Me.lstVacancyReason.ItemData(i)
Next i
issuesValue = Right(issuesValue, Len(issuesValue) - 2)
vacancyValue = Right(vacancyValue, Len(vacancyValue) - 2)
With rs '<<--!!!!
rs.AddNew
rs("Analyst") = Me.cboAnalyst.Value
rs("ReportDate") = Me.txtReportDate.Value
rs("ContractNumber") = Me.cboContractNumber.Column(0)
rs("Contractor") = Me.txtContractor.Value
rs("MATO") = Me.txtMATO.Value
rs("ContractorOnset") = Me.txtContractorOnset.Value
rs("ContractorResolved") = Me.txtContractorResolved.Value
rs("ContractorComments") = Me.txtContractorComments.Value
rs("ContractorIssues") = issuesValue
rs("VACTO") = Me.cboTOvac.Value
rs("VACCLIN") = Me.cboCLINvac.Column(2)
rs("VACCOR") = Me.txtCORVAC.Value
rs("VACMTF") = Me.txtMTFVAC.Value
rs("VACLabor") = Me.txtLaborvac.Value
rs("VACSite") = Me.txtSiteVAC.Value
rs("VACClinic") = Me.txtClinicalVAC.Value
rs("VACIndcov") = Me.txtIndVAC.Value
rs("MissedHours") = Me.txtIndHours.Value
rs("MissedShifts") = Me.txtCovHours.Value
rs("TOStart") = Me.txtTOStart.Value
rs("TOEnd") = Me.txtTOEnd.Value
rs("VACFrom") = Me.txtVacFrom
rs("VACTo") = Me.txtVacTo.Value
rs("VACReason") = vacancyValue
rs("VACComments") = Me.txtVACComments.Value
rs.Update
End With
End If
End If
ErrorHandler_Exit:
On Error Resume Next
rs.Close
Set rs = Nothing
Set db = Nothing
Exit Sub
ErrorHandler:
MsgBox "Error " & Err.Number & ": " & Err.Description, vbCritical, "Workdays"
Resume ErrorHandler_Exit
End Sub