VBA access probleme d'incompatibilité
bema93
-
Utilisateur anonyme -
Utilisateur anonyme -
Bonjour, toule monde
j'ai un probleme en VBA access
je souhaite recuperer le resultat d'une requete selection dans une variable et le manipuler comme un entier (notamment faire une operation de comparaison) mais il m'affiche "Icompatibilite de type"
quelqu'un a une idée de comment résoudre ce probème
'recuperation de la valeur de la requête
Dim qdfTmp As QueryDef
Dim res_req As String
REQ = CurrentDb.CreateQueryDef("Nom_requete", "SELECT max(entier) FROM import;")
Set qdfTmp = CurrentDb.QueryDefs("Nom_requete")
res_req = qdfTmp.SQL
Dim I As Long ' la valuer avec laquelle je vais comparer
Do While I <= CLng(res_req) <==CA COINCE ICI !!!!
###########
corps de la boucle
###########
Loop
A noter que la fonction Val ne fonctionne pas non plus.
Merci a tous ceux et celles qui peuvent m'aider.
j'ai un probleme en VBA access
je souhaite recuperer le resultat d'une requete selection dans une variable et le manipuler comme un entier (notamment faire une operation de comparaison) mais il m'affiche "Icompatibilite de type"
quelqu'un a une idée de comment résoudre ce probème
'recuperation de la valeur de la requête
Dim qdfTmp As QueryDef
Dim res_req As String
REQ = CurrentDb.CreateQueryDef("Nom_requete", "SELECT max(entier) FROM import;")
Set qdfTmp = CurrentDb.QueryDefs("Nom_requete")
res_req = qdfTmp.SQL
Dim I As Long ' la valuer avec laquelle je vais comparer
Do While I <= CLng(res_req) <==CA COINCE ICI !!!!
###########
corps de la boucle
###########
Loop
A noter que la fonction Val ne fonctionne pas non plus.
Merci a tous ceux et celles qui peuvent m'aider.
A voir également:
- VBA access probleme d'incompatibilité
- Acer quick access - Forum Logiciels
- Quick Access service ✓ - Forum PC portable
- Access runtime ✓ - Forum Access
- Exemple base de données access à télécharger gratuit - Forum Access
- Incompatibilité de type vba ✓ - Forum VB / VBA
1 réponse
Bonjour,
' Dans votre exemple, I est déclaré mais pas initialisé !!!
' res_req est déclaré comme une chaine de caractère et est
' initialisé avec la chaine formant la requête SQL
' donc, ici vous récupéré la chaine de caractère qui forme
' la requête SQL et non le résultat de la requête.
' Si je comprends ce que vous tentez de faire :
Sub Test()
Dim I As Long
Do While I <= CLng(res_req) '<==CA COINCE ICI !!!!
'###########
DoEvents
'corps de la boucle
'###########
Loop
End Sub
'
' Dans votre exemple, I est déclaré mais pas initialisé !!!
' res_req est déclaré comme une chaine de caractère et est
' initialisé avec la chaine formant la requête SQL
' donc, ici vous récupéré la chaine de caractère qui forme
' la requête SQL et non le résultat de la requête.
' Si je comprends ce que vous tentez de faire :
Sub Cherche()
Dim rs As Recordset, Resultat As Long
Dim qdfTmp As QueryDef
Dim res_req As String
REQ = CurrentDb.CreateQueryDef("Nom_requete", "SELECT max(entier) FROM import;")
Set rs = CurrentDb.OpenRecordset("Nom_requete")
rs.MoveLast
rs.MoveFirst
Resultat = rs.RecordCount
Do While I <= Resultat
DoEvents
Loop
End Sub
'