Bonjour, J'ai un probleme pour moi insurmontable depuis des semaines.
Travaille sur un projet : BD Access et interface VB 6.
J'ai la table suivante dans la BD :
Nom | Prenom | Fonction
----------------------------------
MOUH | Ali | Agent entretien
ABOUE | Paul | Chef Secu
MARA | Serge | RPE
NIHO | | Agent entretien
J'utilise des controles DATA pour les echanges avec la BD et, j'aimerai charger mon DATA pour avoir le résultat :
Num | Nom | Prenom | Fonction
----------------------------------
1 | MOUH |Ali | Agent entretien
2 | ABOUE |Paul | Chef Secu
3 | MARA |Serge | RPE
4 | NIHO | | Agent entretien
avec une instruction du genre :
DATA.recordsource = "SELECT {Je ne sais pas quoi} As Num, Nom, Prenom FROM Table_Personne"
Donc, pour recapituler, j'aimerai me servir de mon DATA control pour avoir un nouveau champ "Numero Automatique" à partir d'une table de la base de données où le nouveau champ n'existe pas.
BD : Access
Interface : VB 6
Salut
Access quelle version ?
Un controle DATA ? Connais pô : quel est le nom de l'OCX qui supporte ce composant ?
Parles-tu de "ADO Data" (d'ailleurs obsolète) ?
Ou de "Data Bound Grid" ?
J'ai un doute : Quelle est la version complète de ton VB6 ?
Es-tu sûr que tu parles de VB6 et pas de VBA (VB for Application) version 6 présent à l'intérieur de Access ou Excel ... ?
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
Enfin, à ma connaissance, les moteurs SQL ne savent pas numéroter les lignes à l'extraction.
Il te faudra peut-être changer de méthode d'accès à tes données en utilisant un RecordSet puis en envoyant les données vers une DBGrid ou autre --> Voir ADODB
Bonjour a tous et deja, nerci pour vos precieuses participations.
Pour être precis dans mon probleme,
1- J'utilise une BD Access format 97 pour souvegarder mes données.
2- Je bosse avec VB6 pour l'interface. Voici comment je procède pour les échanges avec la BD via mon DATA controle :
[b]Data1.databasename = App.Path & ".\MaBD97.mdb"
Data1.Recordsource = "SELECT {Numerotation Automatique} As Num, Nom, Prenom, Fonction FROM TableDeLaBD WHERE ..." Data1.Refresh/b
Voici en gros comment je fonctionne pour les echanges avec la BD sans probleme; sauf qu'ici, je voudrais un nouveau champ {Num automatique} dans ma requete SELECT si possible.
Salut
Si je comprend bien tu travaille avec du vieux vieux materiel. vb 6 acces 97 et DAO. Comme moi. J'ai fait une petite appli avec ça il y a quelque annee, et j'ai resolu un probleme un peu comme le tiens en creant une table intermediaire avec acces(Dans la structure meme de la base) et en la remplissant avec l'interface vb.Comme la table intermediaire tu y met d'abord un champ numerro auto tu devrai resoudre ton probleme.
Merci de me dire si ça marche
jpp
Je rebondis sur ce sujet car j'ai le même problème, sauf que ma requete est basée sur une table liée à une feuille excel ....ce qui complique grandement car je ne peut donc pas ajouter de champ dans la table, et de plus celle-ci ne comporte aucun champ sans doublons sur lequel je puis m'appuyer pour effectuer la méthode Dcount etc...
Est-ce que quelqu'un aurait une solution m'évitant de devoir passer par une table temporaire etc ?
PS: je rappel que le sujet de base est de pouvoir rajouter un champ type "NuméroAuto" dans une requête selection.
J'aurai imaginé que le problème soit plus simple avec une table excel car tu peux y ajouter une colonne comme suis :
Sub InsertColonne()
Dim NbrColonne As String
NbrColonne = InputBox("Nombre de colonnes")
If NbrColonne <> "" Then
If IsNumeric(NbrColonne) Then
Range("F1").Resize(, NbrColonne).EntireColumn.Insert Shift:=xlToRight
End If
End If
End Sub
Une fois la nouvelle colonne ajoutée, tu n'as plus qu'à la parcourir en y affectant l'index du compteur... Du coup pas besoin de Dcount!
Mais, avant que je ne raconte des bêtises, tu travailles directement en VBA Excel ou sous VB avec BD Excel?