salut
je travaille sur une application et je voudrais afficher toutes les dates qui se trouvent dans une table dans une listbox
pouvez me donner un bout du code
merci
salut
je travaille sur une application et je voudrais afficher toutes les dates qui se trouvent dans une table dans une listbox
pouvez me donner un bout du code
merci
Salut
De quel type de table s'agit-il? Access ou Excel ou autre?
j utilse une base sql server
Je ne suis pas experte en communication avec les bases de données, mais je sais que pour afficher une sélection de données selon certains critères, il faut recourir à une requête (sans vouloir faire de mauvais jeux de mots).
Va faire un tour sur les tutoriels de traitement de données. si tu ne trouve pas ton bonheur, du dis. Pour le reste, je passe la main.
ok merci je vais tout de suite voir ca
mais n'empeche qu'un bout de code m'aiderais beaucoup
si quelqu 'un pouvvez m'aider ca serait parfait
les requetes sql sur des bases de données ne sont pas simple, il suffit de trouver la bonne phrase mais si mes souvenirs sont bons :
ensuite pour lire la base ouverte :
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71 Public p_strServeur As String Public p_strBase As String Public p_adoConnect As New ADODB.Connection Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, ByVal lpDefault As String, _ ByVal lpRetunedString As String, ByVal nSize As Long, _ ByVal lpFileName As String) As Long Public Function OuvreConnection(p_strServeur As String, p_strBase As String) As Boolean 'Description : Ouvre une connection ADO sur base SQL Server Dim l_strconnectstring As String On Error GoTo erreur ' uid= nom de l'utilisateur ' pwd=mot de passe l_strconnectstring = "uid=;pwd=;driver={SQL Server}; server=" & p_strServeur & ";database=" & p_strBase & ";dsn=''" If p_adoConnect.State = adStateOpen Then p_adoConnect.Close With p_adoConnect .ConnectionString = l_strconnectstring .ConnectionTimeout = 0 .CommandTimeout = 0 .Open End With OuvreConnection = True Exit Function erreur: MsgBox Err.Description, vbCritical OuvreConnection = False End Function Function FermeConnection() As Boolean If p_adoConnect.State = adStateOpen Then p_adoConnect.Close FermeConnection = True Else FermeConnection = False End If End Function Function LitTable2() Dim l_rsRecord As New ADODB.Recordset Dim l_strSql As String On Error GoTo erreur If p_adoConnect.State = adStateOpen Then ' modifier le nom de la table <donnees> de l'exemple l_strSql = "SELECT * from employees" l_rsRecord.Open l_strSql, p_adoConnect 'MsgBox l_rsRecord!montant ' alimente le Grid Exemple.Adodc1.Visible = True Exemple.DataGrid1.Visible = True Exemple.Adodc1.ConnectionString = p_adoConnect.ConnectionString Exemple.Adodc1.RecordSource = "select * from employees" Exemple.Adodc1.Refresh Else MsgBox "La base est fermée", vbInformation End If Exit Function erreur: MsgBox Err.Description, vbCritical End Function
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
24
25
26 Function LitTable2() Dim l_rsRecord As New ADODB.Recordset Dim l_strSql As String On Error GoTo erreur If p_adoConnect.State = adStateOpen Then ' modifier le nom de la table <donnees> de l'exemple l_strSql = "SELECT * from employees" l_rsRecord.Open l_strSql, p_adoConnect ' alimente le Grid Exemple.Adodc1.Visible = True Exemple.DataGrid1.Visible = True Exemple.Adodc1.ConnectionString = p_adoConnect.ConnectionString Exemple.Adodc1.RecordSource = "select * from employees" Exemple.Adodc1.Refresh Else MsgBox "La base est fermée", vbInformation End If Exit Function erreur: MsgBox Err.Description, vbCritical End Function
merci
mais je suis débutant je crois qu'il y a trop de chose dans ce code que je ne comprend pas
moi je voudrais juste remplir une listbox avec les dates qui se trouvent dans un champ d'une table
On ne peut pas mettre la charue avant les boeufs.
tu ne pourras jamais récupérer des données si tu ne crée pas une connexion avec la base de donnée.
Je vais essayer d'expliquer
1°) créer un module dans ton projet
2°) ajouter une référence à Microsoft data object 2.6 library
ensuite le code:
ce code ce place dans le module au début, déclaration des variables publiques
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Public p_strServeur As String 'variable chaine nom du serveur Public p_strBase As String 'variable chaine nom de la base Public p_adoConnect As New ADODB.Connection Declare Function GetPrivateProfileString Lib "kernel32" _ Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, _ ByVal lpKeyName As String, ByVal lpDefault As String, _ ByVal lpRetunedString As String, ByVal nSize As Long, _ ByVal lpFileName As String) As Long
ensuite les deux fonction :
ouverture de la connexion
une fois que la base est ouverte il faut apprendre à la fermer !!!
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42 'Description : Ouvre une connection ADO sur base SQL Server Public Function OuvreConnection(p_strServeur As String, p_strBase As String) As Boolean Dim l_strconnectstring As String On Error GoTo erreur 'cette ligne permet de créer la chaine avec tous les paramètres d'ouverture de la base: p_strServeur = "nom du serveur SQL" p_strBase = "nom de la base (fichier)" l_strconnectstring = "uid=;pwd=;driver={SQL Server}; server=" & p_strServeur & ";database=" & p_strBase & ";dsn=''" ' uid= blabla (nom del'utilisateur) peut-être une variable si plusieurs utilisateurs ' pwd=********* mot de passe idem 'driver= chemin du serveur 'rajouter dans la chaine tous ces paramètres ou créer des variables si plusieurs utilisataurs et plusieurs mot de passe (sauf pour le chemin du server car il ne change pas) 'laisser ensuite les lignes suivantes : If p_adoConnect.State = adStateOpen Then p_adoConnect.Close With p_adoConnect .ConnectionString = l_strconnectstring .ConnectionTimeout = 0 .CommandTimeout = 0 .Open End With OuvreConnection = True Exit Function erreur: MsgBox Err.Description, vbCritical OuvreConnection = False End Function![]()
la fonction de fermeture à laisser telle quel, c'est cool ça :
Ensuite viens la lecture dans la base.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 Function FermeConnection() As Boolean If p_adoConnect.State = adStateOpen Then p_adoConnect.Close FermeConnection = True Else FermeConnection = False End If End Function
Il faut trouver la bonne phrase, car le sql est un langage un peu complexe.
déjà créer une fonction :
Voilà, je suis pas trop calé mais avec internet et ça tu devrais te débrouiller
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
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46 Function LitTable() Dim rs As New ADODB.Recordset Dim sql As String On Error GoTo erreur If p_adoConnect.State = adStateOpen Then 'voici la ligne à compléter sql = "SELECT (1) from (2) where ........." '(1) nom de la colonne ou * pour balayer toute les colonnes '(2) nom de la table 'ensuite faut chercher car je ne suis pas trop calé en sql mais sur le net tu trouve rs.Open sql, p_adoConnect While not .EOF With rs listbox1.Additem rs 'pas sur du rs, pour un nombre c'est !NB, pour une date ??? je ne sait pas !DATE peux-t-être .MoveNext Wend .Close End With Set rs = Nothing End If Exit Function erreur: MsgBox Err.Description, vbCritical End Function
merci pour ton aide
c'est ce dont j'avais besoin
![]()
Merci à alexxx69 d'avoir pris la main...
Bon et bien, si ça marche, josémaria (espagnol ?), t'oublies pas de cliquer sur.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager