Vb6 et access [Résolu]

cs_isien 6 Messages postés mercredi 25 avril 2007Date d'inscription 26 juillet 2007 Dernière intervention - 23 juil. 2007 à 12:03 - Dernière réponse : Ronaldort 2 Messages postés mardi 7 août 2007Date d'inscription 8 août 2007 Dernière intervention
- 8 août 2007 à 13:04
salut, g un problème lors d'un affichage de données extraites d'une bd access
Public str As String
Public var As Integer
Public rs As New ADODB.Recordset
Public cmd As New ADODB.Command
Public cn As New ADODB.Connection
cn.Mode = adModeReadWrite
cn.ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = C:\Documents and Settings\siege\Bureau\stage2007\onas97.mdb;Persist Security Info= false "
cn.Open

Private Sub Form_Load()
str = "select * from secteur "
rs.Open str, cn
Set mshfg1.DataSource = rs 'mshfg1=MSHFlexGrid
rs.Close
End Sub


le resultat ne donne que la première ligne.
merci
Afficher la suite 

Votre réponse

11 réponses

Meilleure réponse
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 juil. 2007 à 16:14
3
Merci
Salut,

En complément essaye aussi cela :

Rs.CursorLocation = adUseClient
Rs.Open Str, Cn, adOpenDynamic, adLockPessimistic

A+
Exploreur

 Linux a un noyau, Windows un pépin

 

Merci cs_Exploreur 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Exploreur
Meilleure réponse
cs_isien 6 Messages postés mercredi 25 avril 2007Date d'inscription 26 juillet 2007 Dernière intervention - 23 juil. 2007 à 16:52
3
Merci
Private Sub Command1_Click()
str "select * from reseau where id_sec " & mshfg1
rs.CursorLocation = adUseClient
rs.Open str, cn
Set mshfg2.DataSource = rs
rs.Close
End Sub

merci bien voilà ce ki manke "rs.CursorLocation = adUseClient"

Merci cs_isien 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_isien
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 juil. 2007 à 12:09
0
Merci
Salut,

Regarde du côté de :

MoveLast, MoveNext, MovePrevious, MoveFisrt.....

En utilisant ton Rs :

Rs.MoveLast

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
cs_Nicko11 1141 Messages postés mercredi 7 mars 2007Date d'inscription 19 septembre 2007 Dernière intervention - 23 juil. 2007 à 12:14
0
Merci
Salut, deja, c'est super dur a lire ton code.

Ensuite, pour connaitre le nombre d'enregistrement de ton recordset, tu peux faire :
Msgbox rs.RecordCount
Si tu n'as qu'un enregistrement au lieu de XXX (faut etre sur que la table secteur de stage2007\onas97.mdb contient plus d'un enregistrement), tu pourras le voir sans ton msflexgrid.

Pour la cause, peut etre est il necessaire de préciser les autres arguements de la méthode Open de ton recordset.

rs.Open str, cn , adOpenDynamic, adLockOptimistic
Commenter la réponse de cs_Nicko11
cs_Nicko11 1141 Messages postés mercredi 7 mars 2007Date d'inscription 19 septembre 2007 Dernière intervention - 23 juil. 2007 à 12:15
0
Merci
Salut, Exploeur, pourquoi un MoveLast ?

C'est nécessaire pour que tous les enregistrements soient pris en compte ?
Commenter la réponse de cs_Nicko11
cs_isien 6 Messages postés mercredi 25 avril 2007Date d'inscription 26 juillet 2007 Dernière intervention - 23 juil. 2007 à 12:28
0
Merci
Private Sub Form_Load()
str = "select * from secteur "
rs.Open str, cn
rs.MoveFirst
If Not rs.EOF Then
Set mshfg1.DataSource = rs
End If
rs.Close
End Sub

erreur : impossible d'acceder aux donnees, les parametres de sources de donnees doivent etre incorrecte ou la fonctionnalités est peut être limitée.
de même en essayant .movelast
Commenter la réponse de cs_isien
cs_isien 6 Messages postés mercredi 25 avril 2007Date d'inscription 26 juillet 2007 Dernière intervention - 23 juil. 2007 à 12:32
0
Merci
msgbox rs.recordcount
> -1 alors ke g 2 lignes dans la table
Commenter la réponse de cs_isien
cs_Exploreur 4824 Messages postés lundi 11 novembre 2002Date d'inscription 15 novembre 2016 Dernière intervention - 23 juil. 2007 à 13:24
0
Merci
Salut Nicko11,

Non, ce n'est que pour donner des "pistes" à chercher avec ces instructions, en tappand dans google, tu tombes sur des explications, qui à un moment ou à un autre, il en aura besoin....

A+
Exploreur

 Linux a un noyau, Windows un pépin

 
Commenter la réponse de cs_Exploreur
Molenn 797 Messages postés mardi 7 juin 2005Date d'inscription 23 février 2011 Dernière intervention - 23 juil. 2007 à 13:39
0
Merci
Ca te retourne -1 sans doute parce que, comme dans le bout de code que tu nous dnones, tu ne précises pas le curseur, et que le curseur par défaut ne supporte pas RecorCount ?

J'ai la flemme d'écrire, donc, copier/coller de ce site http://faq.vb.free.fr/index.php?question=98,

Pourquoi la propriété RecordCount de mon Recordset me retourne toujours -1 ?
C'est que tout simplement le type de curseur que vous avez choisi ne supporte pas la propriété RecordCount. Seuls les curseurs de type "static" et "keyset" permettent de connaître le nombre d'enregistrements d'un recordset. Or par défaut ADO emploie un curseur côté-serveur de type "en avant seulement" (forward only).

Molenn
Commenter la réponse de Molenn
cs_Nicko11 1141 Messages postés mercredi 7 mars 2007Date d'inscription 19 septembre 2007 Dernière intervention - 23 juil. 2007 à 15:10
0
Merci
Essaies ceci:

rs.Open str, cn , adOpenDynamic, adLockOptimistic

ou encore

rs.Open str, cn , adOpenKeyset, adLockOptimistic
Commenter la réponse de cs_Nicko11
Ronaldort 2 Messages postés mardi 7 août 2007Date d'inscription 8 août 2007 Dernière intervention - 8 août 2007 à 13:04
0
Merci
Une tache que j'ai cherché mais ss résultat:
quand je tape

Private Sub Form_Load()
Set cn = New ADODB.Connection
cn.Open "Provider=Microsoft.Jet.OLEDB.4.0;data source=d:\App\CarriereK_be.mdb"



Set cmd = New ADODB.Command
With cmd
    .ActiveConnection = cn
    .CommandText = "select  Raison social from client"
    .CommandType = adCmdText
End With




Set rs = New ADODB.Recordset
rs.Open cmd, cn, adOpenKeyset, adLockOptimistic
Text9 = rs.RecordCount
While Not rs.EOF
    List1.AddItem rs(0)
    rs.MoveNext
Wend
End Sub

Le compilateur me donne le message suivant:

Erreur d'execution '3707'  Impossible de modifier la propriété ActiveConection d'un objet Recordset avec un objet Commande comme source
SVP pourriez-vous me donner des propositions ?et Merci
Commenter la réponse de Ronaldort

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.