cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
11 oct. 2005 à 10:08
cs_lacomm
Messages postés298Date d'inscriptionlundi 14 juin 2004StatutMembreDernière intervention 5 juillet 2013
-
11 oct. 2005 à 10:40
Bonjour,
j'ai la fonction suivante:
Function pragmaint3(sourceA As String) As String
Dim cpragma As New ADODB.Connection
Dim rpragma18 As New ADODB.Recordset, rpragma19 As New ADODB.Recordset
cpragma.Provider = "Microsoft.Jet.OLEDB.4.0"
cpragma.ConnectionString = "C:\pragma.mdb"Set rpragma18 New ADODB.Recordset: Set pragma18 New ADODB.Recordset
cpragma.Open
rpragma18.Open "SELECT DISTINCT Field8 FROM pragma1", cpragma
rpragma18.MoveFirst
rpragma19.Open "SELECT DISTINCT Field9 FROM pragma1", cpragma
rpragma19.MoveFirst
If rpragma18.RecordCount <> 0 And rpragma19.RecordCount <> 0 Then
Do While Not rpragma18.EOF
Do While Not rpragma19.EOF
modele = sourceA Like mot2 & rpragma18(0) & " " & rpragma19(0) & " " & "*"
If modele = True Then
msgbox "ok"
pragmaint3 = rpragma18(0) & " " & rpragma19(0)
Exit Function
Else: pragmaint3 = 0
End If
rpragma19.MoveNext
Loop
rpragma19.MoveFirst: rpragma18.MoveNext
Loop
End IfSet rpragma18 Nothing: Set rpragma19 Nothing
End Function
La base qui est réferencée est constituée de chaine de caractères, mais certaines cellules sont vides. Il semble que dans ce cas précis j'ai le message "invalid use of null", ce que j'interprète par le fait que la fonction retourne une chaine et que si la chaine est vide, j'ai un "Null" qui est incompatible avec la déclaration "string" de la fonction. D'ailleurs, en remplissant ces cellules vides dans la base avec du texte, ca marche.
je me souviens vaguemment d'une instruction :
iif is null ... replace "", " "
est-ce la seule solution ?
y'a-t-il une solution dans la requête ?
merci à vous