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 :
aduseServer est en erreur : "Le nom 'aduseServer' n'est pas déclaré"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 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
Le 2ème problème :
Sur ma fonction
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'."
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23 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
Même si je mets, j'ai le même message. (J'ai la même erreur quand j'ai un format Date ou Boolean).
Code : Sélectionner tout - Visualiser dans une fenêtre à part CInt(rs(0))
Avez vous des idées ?
Merci de votre aide.
Amicalement Laurent
Partager