troubleshooting Question

type mismatch on rst.findfirst

Avatar of João serras-pereira
João serras-pereiraFlag for Portugal asked on
Microsoft AccessVBA
2 Comments1 Solution236 ViewsLast Modified:
Hi -
On my app I need to validate it a certain record exists, before trying to insert a new one. The the existence is determined by a rst.findferst on the rst (a query), that combines two columns.

my code is:

    Dim tblSelecaoDetail_r As DAO.Recordset
    Dim qryMMRfilterNew_rst As DAO.Recordset
    Dim tblSelecaoDetail_rst As DAO.Recordset
    Dim qrySelecaoExistencias_rst As DAO.Recordset
   
    Dim strLocateSelected As String
    Dim lngNumRecords As Long
    Dim strX As String
   
    Set BddPlus = CurrentDb
    Set qryMMRfilterNew_rst = BddPlus.OpenRecordset("qryMMRfilterNew", dbOpenDynaset)
    Set tblSelecaoDetail_rst = BddPlus.OpenRecordset("tblSelecaoDetail", dbOpenDynaset)
    Set qrySelecaoExistencias_rst = BddPlus.OpenRecordset("qrySelecaoExistencias", dbOpenDynaset)

...

   Do While Not qryMMRfilterNew_rst.EOF
        ' acrescentar os registos seleccionados de qryMMRfilterNew à selecção escolhida
        ' mas... se já existe... não inserir!
        strLocateSelected = "existe = '" & Me.frmfld_refSelecao & qryMMRfilterNew_rst!CodMilitante & "'"
        qrySelecaoExistencias_rst.FindFirst strLocateSelected
        If qrySelecaoExistencias_rst.NoMatch = "" Then
            tblSelecaoDetail_rst.AddNew
            tblSelecaoDetail_rst!CodMilitante = qryMMRfilterNew_rst!CodMilitante
            tblSelecaoDetail_rst!refSelecaoMaster = Me.frmfld_refSelecao
            tblSelecaoDetail_rst.Update
            lngNumRecords = lngNumRecords + 1
        End If
        qryMMRfilterNew_rst.MoveNext
    Loop

but I am getting, on the  rst.nomatch statement tye "type mismatch" error

the rst looks OK as well as the search field...

Screen-Shot-2017-10-27-at-11.47.11.png
Screen-Shot-2017-10-27-at-11.47.19.png
can anyone help?
ASKER CERTIFIED SOLUTION
Join our community to see this answer!
Unlock 1 Answer and 2 Comments.
Start Free Trial
Learn from the best

Network and collaborate with thousands of CTOs, CISOs, and IT Pros rooting for you and your success.

Andrew Hancock - VMware vExpert
See if this solution works for you by signing up for a 7 day free trial.
Unlock 1 Answer and 2 Comments.
Try for 7 days

”The time we save is the biggest benefit of E-E to our team. What could take multiple guys 2 hours or more each to find is accessed in around 15 minutes on Experts Exchange.

-Mike Kapnisakis, Warner Bros