Erreur d'exécution 13 : incompatibilité de type
X300X
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour,
Je suis nouveau dans le monde de la prog et de access et jai besoins d'aide pour trouver mon erreur !
J'utilise Access 2010 et voici mon code:
L'erreur est a la ligne:
Merci d'avance!
X300X
Je suis nouveau dans le monde de la prog et de access et jai besoins d'aide pour trouver mon erreur !
J'utilise Access 2010 et voici mon code:
Private Sub Commande9_Click() Dim baseMat As DAO.Database Dim rsMat As DAO.Recordset Dim sql As String Set baseMat = CurrentDb Set rsMat = baseMat.OpenRecordset("Database") sql = "SELECT Database.numero, Database.Tache, Database.Champ1 FROM [Database] WHERE (((Database.numero) Like " * " & [formulaires]![recherche]![numero2] & " * ") AND ((Database.Tache) Like " * " & [formulaires]![recherche]![mot2] & " * ") AND ((Database.type) Like " * " & [formulaires]![recherche]![type2] & " * "));" DoCmd.RunSQL sql Set rsMat = baseMat.OpenRecordset(sql) resultat.RowSourceType = "Table/Query" resultat.RowSource = sql resultat.Requery End Sub
L'erreur est a la ligne:
sql = "SELECT Database.numero, Database.Tache, Database.Champ1 FROM [Database] WHERE (((Database.numero) Like " * " & [formulaires]![recherche]![numero2] & " * ") AND ((Database.Tache) Like " * " & [formulaires]![recherche]![mot2] & " * ") AND ((Database.type) Like " * " & [formulaires]![recherche]![type2] & " * "));"
Merci d'avance!
X300X
A voir également:
- Erreur d'exécution 13 : incompatibilité de type
- Fifa 13 - Télécharger - Jeux vidéo
- Test redmi note 13 5g - Accueil - Téléphones
- Erreur 0x80070643 - Accueil - Windows
- Erreur 0x80070643 Windows 10 : comment résoudre le problème de la mise à jour KB5001716 - Accueil - Windows
- Erreur 4101 france tv - Forum Lecteurs et supports vidéo
1 réponse
Bonsoir
Il faut doubler les " à l'intérieur de ta chaîne, sinon ta chaîne s'arrête au premier " rencontré. Dans ton cas, tel que tu l'as écrit, le premier morceau de la chaîne c'est "SELECT Database.numero, Database.Tache, Database.Champ1 FROM [Database] WHERE (((Database.numero) Like ". Elle s'arrête là à cause du ". Ensuite vient *, le signe de la multiplication.
Et multiplier une chaîne, ça donne bien une incompatibilité de type.
Il fallait donc écrire (entre autres possibilités) :
Il faut doubler les " à l'intérieur de ta chaîne, sinon ta chaîne s'arrête au premier " rencontré. Dans ton cas, tel que tu l'as écrit, le premier morceau de la chaîne c'est "SELECT Database.numero, Database.Tache, Database.Champ1 FROM [Database] WHERE (((Database.numero) Like ". Elle s'arrête là à cause du ". Ensuite vient *, le signe de la multiplication.
Et multiplier une chaîne, ça donne bien une incompatibilité de type.
Il fallait donc écrire (entre autres possibilités) :
sql = "SELECT Database.numero, Database.Tache, Database.Champ1 FROM [Database] WHERE (((Database.numero) Like "" * "" & [formulaires]![recherche]![numero2] & "" * "") AND ((Database.Tache) Like "" * "" & [formulaires]![recherche]![mot2] & "" * "") AND ((Database.type) Like "" * "" & [formulaires]![recherche]![type2] & "" * ""));"