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
- Access runtime ✓ - Forum Access
- L'indice n'appartient pas à la sélection vba - Forum VB / VBA
- Acer Quick Access - affichage CapsLock, VerrNum - Forum logiciel systeme
- Quick Access service ✓ - Forum PC portable
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 '