laurent02
Messages postés12Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention22 février 2010
-
11 mars 2007 à 09:02
laurent02
Messages postés12Date d'inscriptionjeudi 24 avril 2003StatutMembreDernière intervention22 février 2010
-
11 mars 2007 à 11:31
Bonjour,
Je fais mon premier programme en Visual Basic 2005 express à partir d'un programme VB sur Excel qui fonctionne tres bien sur une base MySQL en ADO.
J'ai recréé les formulaires, copier/coller les procédures, mis les mêmes références et j'ai 2 problèmes que je n'arrive pas à solutionner :
le 1er problème :
J'ai le message d'erreur "n'est pas déclaré" sur toutes les options de ADO comme aduseServer, adOpenStatic, adLockReadOnly, ...
par exemple sur ma procédure de connexion :
Public Sub ConnexionBase()
cnx = New ADODB.Connection
cnx.ConnectionString = "DRIVER={MySQL};"&
"SERVER=XXX.XXX.XXX.XXX;" & " DATABASE=Laura;"
& "UID=root;PWD=XXXXXX; OPTION=3"
cnx.CursorLocation = aduseServer
cnx.Open()
End Sub
aduseServer est en erreur : "Le nom 'aduseServer' n'est pas déclaré"
Le 2ème problème :
Sur ma fonction
Public Function RecupNbreService() As Integer
Dim sqlid As String
Dim rs As ADODB.Recordset 'Déclarer le RecordSet
Dim id As Integer
id = 0
sqlid = "SELECT Count(Client)FROM Services;"
Call ConnexionBase()
rs = New ADODB.Recordset 'Créer une instance de RecordSet
rs.Open(sqlid, cnx, adOpenStatic, adLockReadOnly) ' L’ouvrir
id = rs(0) ' Accés à la valeur
rs.Close() 'Fermer le RecordSet
rs = Nothing 'Libérer la mem.
Call DeconnexionBase()
RecupNbreService = id
End Function
sur la ligne id = rs(0) j'ai le message d'erreur "Une valeur de type 'ADODB.Field' ne peut pas être convertie en 'Integer'."
Même si je mets CInt(rs(0)) , j'ai le même message. (J'ai la même erreur quand j'ai un format Date ou Boolean).
Avez vous des idées ?
Merci de votre aide.
Amicalement Laurent
A voir également:
Sur VB.Net en ADO j'ai des erreurs "n'est pas déclaré"