Link to home
Start Free TrialLog in
Avatar of João serras-pereira
João serras-pereiraFlag for Portugal

asked on

type mismatch on rst.findfirst

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...

User generated image
User generated image
can anyone help?
ASKER CERTIFIED SOLUTION
Avatar of Jim Dettman (EE MVE)
Jim Dettman (EE MVE)
Flag of United States of America image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of João serras-pereira

ASKER

Thanks!!
now I am posting a related quesiton as it is always returning TRUE but the record is there so it should return FALSE...