Access - Variables en recordset findfirst

 
Vista:
Imágen de perfil de cpjcarlos
Val: 9
Ha aumentado su posición en 3 puestos en Access (en relación al último mes)
Gráfica de Access

Variables en recordset findfirst

Publicado por cpjcarlos (7 intervenciones) el 06/03/2020 22:37:27
Hola estoy comparando 5 campos de una tabla con 5 campos de otra tabla con el metodo
Findfirst pero tengo error. Mas alla de la sintaxis me gustaría saber cual es la lectura correcta de las siguientes
obvio en este ejemplo no son coincidentes pero ¿Cuál es el resultado de estos 4 o ninguno y es algo diferente ....

'16210934AMMEXTAM' LIKE '*623937152DLPVGLAX*'
16210934AMMEXTAM LIKE '*623937152DLPVGLAX*'
'16210934AMMEXTAM LIKE *623937152DLPVGLAX*'
16210934AMMEXTAM LIKE *623937152DLPVGLAX*

esta es mi función pero me estoy "atorando" en la linea de código
.FindFirst buscadoen & "'" & " LIKE '*" & registrobuscado & "*'"

La idea es buscar cada registro de la tabla TblSIS139 en cada registro de la tabla tblSpot y si encuentra el registro, "escribir" el valor de un campo en la primer tabla

en ambas tablas estoy combinando 5 campos

Me pueden orientar por favor

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
Dim rst As DAO.Recordset
Dim rstSis As DAO.Recordset
 
Set rstSis = CurrentDb.OpenRecordset("TblSIS139")
Set rst = CurrentDb.OpenRecordset("SELECT * FROM tblSpot")
 
rstSis.MoveFirst
Do Until rstSis.EOF
'proceso
 
'Campos de SIS
registrobuscado = rstSis![Issue Airline] & rstSis![guia] & rstSis![carrier] & rstSis![Carriage From] & rstSis![Carriage To]
    With rst  '
       'los campos aqui descritos son en base a la tabla donde se va a buscar
buscadoen = rst![prefix] & rst![mawb] & rst![carrier] & rst![SectorOri] & rst![SectorDes]
 
Debug.Print buscadoen & "'" & " LIKE '*" & registrobuscado & "*'"
    .FindFirst buscadoen & "'" & " LIKE '*" & registrobuscado & "*'"
 
    If .NoMatch Then
    Else
     rstSis.Edit
     rstSis!TarifaSpot = rst!spotrate
     rstSis!Cargofijospot = rst![cargo fijo]
 
     rstSis.Update
   End If
End With
 
rst.Close
Set rst = Nothing
 
rstSis.MoveNext
Loop
 
 
 
Exit Function
 
ErrorHandler:
   MsgBox "Error #: " & Err.Number & vbCrLf & vbCrLf & Err.Description
 
End Function
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder