Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Utilisation de Microsoft DAO 3.6 Object library ?

5 réponses
Avatar
Mr News
Bonjour tout le monde,

j'utilise dans les preferences de mon projet VB : Microsoft DAO 3.6 Object
library et j'aimerai savoir quels sont les composants à installer chez le
client en même temps que l'executable.

Genre : dao360.dll, ....

merci pour le coup de main.

5 réponses

Avatar
Mr News
Le Tue, 8 Feb 2005 18:16:52 +0100, Mr News a écrit :

Bonjour tout le monde,

j'utilise dans les preferences de mon projet VB : Microsoft DAO 3.6 Object
library et j'aimerai savoir quels sont les composants à installer chez le
client en même temps que l'executable.

Genre : dao360.dll, ....

merci pour le coup de main.




Ca y ets j'ai la solution :
http://www.islamov.com/diamond/q&a.html#daoinstall36
Avatar
Daniel Caron
Bonjour à tous. Je recherche un exemple pas a pas d'une routine qui me
permet de remplir une grille de style DBGRID par programmation uniquement
car pour le moment je suis en apprentissage de DAO (Je sais ce que vous
pensez mais pour l'instant je reste avec DAO)
Plusieurs me recommende d'utiliser MSHFlexGrid que j'ai essayé mais sans
segment de code je suis perdu.

@+

Daniel
Avatar
Jean-Marc
"Daniel Caron" a écrit dans le message de
news:
Bonjour à tous. Je recherche un exemple pas a pas d'une routine qui me
permet de remplir une grille de style DBGRID par programmation uniquement
car pour le moment je suis en apprentissage de DAO (Je sais ce que vous
pensez mais pour l'instant je reste avec DAO)
Plusieurs me recommende d'utiliser MSHFlexGrid que j'ai essayé mais sans
segment de code je suis perdu.



Hello,

Voici un petit exemple qui fonctionne. Tu dois avoir:
une form,
un bouton de commande,
un MsHflexGrid,
Une référence à DAO 3.6 dans ton projet.

Le code suivant utilise une base de données (db1.mdb) qui
contient une table "individus" qui contient les champs
suivants:
id, nom, prenom, age.

Et voici le code qui remplit le MSHflexGrid avec cette base, "à la main".
(Note qu'il y a plus efficace pour faire ça, hein, il suffit de lire la doc
du MSHflexGrid, il sait faire tout ça pour toi, mais bon, c'est pour
l'exemple)

' Je ne commente pas plus, le code est lui même commenté
' ligne à ligne

Private Sub Command1_Click()
Dim db As Database
Dim rs As Recordset
Dim nb_rows As Integer
Dim nb_recs As Integer
Dim n As Integer

' ouvrir la base de données
Set db = OpenDatabase("c:db1.mdb")
' créer un recordset (par exemple comme ça)
Set rs = db.OpenRecordset("select * from individus")
' vérifier que le recordset n'est pas vide
If rs.EOF = True And rs.BOF = True Then
MsgBox "le recordset est vide"
Else
' sur le dernier, puis sur le premier
rs.MoveLast
rs.MoveFirst

' trouve le nombre de colonnes
nb_rows = rs.Fields.Count
' puis le nombre de lignes
nb_recs = rs.RecordCount
' initialiser le MSHFlexGrid
' NB: le +1 pour garder la première ligne et la première
' colonne "vide"
MSHFlexGrid1.Cols = nb_rows + 1
MSHFlexGrid1.Rows = nb_recs + 1
n = 1
' parcourir tous les records
While Not rs.EOF
' remplir le MSHflexgrid
MSHFlexGrid1.Row = n

MSHFlexGrid1.Col = 1
MSHFlexGrid1.Text = rs.Fields("id")
MSHFlexGrid1.Col = 2
MSHFlexGrid1.Text = rs.Fields("nom")
MSHFlexGrid1.Col = 3
MSHFlexGrid1.Text = rs.Fields("prenom")
MSHFlexGrid1.Col = 4
MSHFlexGrid1.Text = rs.Fields("age")
n = n + 1
rs.MoveNext
Wend
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub

Et au fait, il n'y a pas de problème à utiliser DAO, c'est un bon
modèle de données, avec des limites certes, mais plein d'avantages
aussi.

--
Jean-marc
"There are only 10 kind of people
those who understand binary and those who don't."
Avatar
Daniel Caron
> Et voici le code qui remplit le MSHflexGrid avec cette base, "à la main".
(Note qu'il y a plus efficace pour faire ça, hein, il suffit de lire la
doc
du MSHflexGrid, il sait faire tout ça pour toi, mais bon, c'est pour
l'exemple)



Bonjour Jean-Marc, je te remercie énormément pour ce segment de code qui va
m'aider non seulement à étudier comment on lie des données dans un
MSHFlexGrid car je suis visuel. J'apprends à programmer plus par des
exemples que de lire des manuels.

Je comprends ce que tu veut dire mais quand j'ai lu la doc de Microsoft, je
l'ai trouvé compliqué a décortiqué. Merde qu'ils ne savent pas écrire des
manuels de formation eux.
Private Sub Command1_Click()
Dim db As Database
Dim rs As Recordset
Dim nb_rows As Integer
Dim nb_recs As Integer
Dim n As Integer

' ouvrir la base de données
Set db = OpenDatabase("c:db1.mdb")

' créer un recordset (par exemple comme ça)
Set rs = db.OpenRecordset("select * from individus")

' vérifier que le recordset n'est pas vide
If rs.EOF = True And rs.BOF = True Then
MsgBox "le recordset est vide"
Else
' sur le dernier, puis sur le premier
rs.MoveLast
rs.MoveFirst

' trouve le nombre de colonnes
nb_rows = rs.Fields.Count
' puis le nombre de lignes
nb_recs = rs.RecordCount

' initialiser le MSHFlexGrid
' NB: le +1 pour garder la première ligne et la première
' colonne "vide"
MSHFlexGrid1.Cols = nb_rows + 1
MSHFlexGrid1.Rows = nb_recs + 1
n = 1
' parcourir tous les records
While Not rs.EOF
' remplir le MSHflexgrid
MSHFlexGrid1.Row = n

MSHFlexGrid1.Col = 1
MSHFlexGrid1.Text = rs.Fields("id")
MSHFlexGrid1.Col = 2
MSHFlexGrid1.Text = rs.Fields("nom")
MSHFlexGrid1.Col = 3
MSHFlexGrid1.Text = rs.Fields("prenom")
MSHFlexGrid1.Col = 4
MSHFlexGrid1.Text = rs.Fields("age")
n = n + 1
rs.MoveNext
Wend
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub

Et au fait, il n'y a pas de problème à utiliser DAO, c'est un bon
modèle de données, avec des limites certes, mais plein d'avantages
aussi.



Je te remercie de ce petit mot d'encouragement mais j'ai reçu des
commentaires différents mais moi ma façon d'apprendre est d'apprendres pas à
pas et avec des exemples.

Quand les gens retourne sur les bancs de l'école, les Commissions Scolaire
déclasses les étudiants adulte déclasses plus bas dans le seul but de leur
permettre de se remettre à date dans leur savoir. Donc même si beaucoup
d'entre vous sont maintenant rendu à ADO, j'ai senti le besoin d'apprendre
une méthodologie désuète (DAO) qui va me permettre de faciliter ma
transition vers éventuellement ADO. Mais en recherchant de l'information sur
DAO, j'ai découvert qu'avec ADO, nous perdions des fonctionnalités qui ne
sont plus comprises avec ADO. À ma grande déception d'ailleurs.

Milles fois merci encore pour ton aide maintenant je me mets à
l'expérimentation de ton code et ensuite je me mets à la tâche de trouver
aussi des exemples pour savoir remplir un état (dataEnvironment +
dataReport) ou simplement remplir un DataReport en DAO non attaché à un
contrôle data.

Si tu as ce genre d'exemple aussi, je suis preneur et ça ferait mon bonheur.

Bien à toi

Daniel
Daniel
Avatar
Daniel Caron
> Et voici le code qui remplit le MSHflexGrid avec cette base, "à la main".
(Note qu'il y a plus efficace pour faire ça, hein, il suffit de lire la
doc
du MSHflexGrid, il sait faire tout ça pour toi, mais bon, c'est pour
l'exemple)



Bonjour Jean-Marc, je te remercie énormément pour ce segment de code qui va
m'aider non seulement à étudier comment on lie des données dans un
MSHFlexGrid car je suis visuel. J'apprends à programmer plus par des
exemples que de lire des manuels.

Je comprends ce que tu veut dire mais quand j'ai lu la doc de Microsoft, je
l'ai trouvé compliqué a décortiqué. Merde qu'ils ne savent pas écrire des
manuels de formation eux.
Private Sub Command1_Click()
Dim db As Database
Dim rs As Recordset
Dim nb_rows As Integer
Dim nb_recs As Integer
Dim n As Integer

' ouvrir la base de données
Set db = OpenDatabase("c:db1.mdb")

' créer un recordset (par exemple comme ça)
Set rs = db.OpenRecordset("select * from individus")

' vérifier que le recordset n'est pas vide
If rs.EOF = True And rs.BOF = True Then
MsgBox "le recordset est vide"
Else
' sur le dernier, puis sur le premier
rs.MoveLast
rs.MoveFirst

' trouve le nombre de colonnes
nb_rows = rs.Fields.Count
' puis le nombre de lignes
nb_recs = rs.RecordCount

' initialiser le MSHFlexGrid
' NB: le +1 pour garder la première ligne et la première
' colonne "vide"
MSHFlexGrid1.Cols = nb_rows + 1
MSHFlexGrid1.Rows = nb_recs + 1
n = 1
' parcourir tous les records
While Not rs.EOF
' remplir le MSHflexgrid
MSHFlexGrid1.Row = n

MSHFlexGrid1.Col = 1
MSHFlexGrid1.Text = rs.Fields("id")
MSHFlexGrid1.Col = 2
MSHFlexGrid1.Text = rs.Fields("nom")
MSHFlexGrid1.Col = 3
MSHFlexGrid1.Text = rs.Fields("prenom")
MSHFlexGrid1.Col = 4
MSHFlexGrid1.Text = rs.Fields("age")
n = n + 1
rs.MoveNext
Wend
End If
rs.Close
Set rs = Nothing
db.Close
Set db = Nothing
End Sub

Et au fait, il n'y a pas de problème à utiliser DAO, c'est un bon
modèle de données, avec des limites certes, mais plein d'avantages
aussi.



Je te remercie de ce petit mot d'encouragement mais j'ai reçu des
commentaires différents mais moi ma façon d'apprendre est d'apprendres pas à
pas et avec des exemples.

Quand les gens retourne sur les bancs de l'école, les Commissions Scolaire
déclasses les étudiants adulte déclasses plus bas dans le seul but de leur
permettre de se remettre à date dans leur savoir. Donc même si beaucoup
d'entre vous sont maintenant rendu à ADO, j'ai senti le besoin d'apprendre
une méthodologie désuète (DAO) qui va me permettre de faciliter ma
transition vers éventuellement ADO. Mais en recherchant de l'information sur
DAO, j'ai découvert qu'avec ADO, nous perdions des fonctionnalités qui ne
sont plus comprises avec ADO. À ma grande déception d'ailleurs.

Milles fois merci encore pour ton aide maintenant je me mets à
l'expérimentation de ton code et ensuite je me mets à la tâche de trouver
aussi des exemples pour savoir remplir un état (dataEnvironment +
dataReport) ou simplement remplir un DataReport en DAO non attaché à un
contrôle data.

Si tu as ce genre d'exemple aussi, je suis preneur et ça ferait mon bonheur.

Bien à toi

Daniel
Daniel