cs_bastoch
Messages postés6Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention19 février 2004
-
19 févr. 2004 à 10:01
cs_bastoch
Messages postés6Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention19 février 2004
-
19 févr. 2004 à 14:30
Bonjour,
Je suis actuellement en stage et je dois faire un petit applicatif de facturation sous access.
Je ne suis pas habitué à VB, ni access. Je viens de JAVA et PHP, et j'ai beau lire pas mal de post sur le forum, je n'arrive toujours pas à effectuer une requète et parcourir le record set.
DAO ADO ??? Kesako, car chacun y va de son petit chouchou sur les post.
Si quelqu'un avait l'extrème gentillesse de m'expliquer rapidos comment effectuer une requète ça serait bien cool.
De plus je suis un peu borné et j'essaye de faire ce que je ferais avec un formulaire web en access :
J'ai une liste de choix permanent, et je voudrais pourvoir créer une liste restreinte en ayant un bouton, ou une case a cocher, n'importe quoi en fait qui ne soit pas en relation avec la base. Juste un flag me permettant de selectionner ou pas cet item pour la suite du processus... Est ce une bataille perdue d'avance ou bien simplement une subtilité qui m'échappe.
Merci d'avances a ceux qui auront le temps de me répondre, et bonne journée à tout le monde.
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 19 févr. 2004 à 12:44
labout
Le mieux est d'utiliser l'ADO car si l'on souhaite par la suite
substituer à la base ACCESS une base SQL Server, il n'y aura pas beaucouo de code à modifier.
Comment cela marche
1) Inclure la référence ADO Projet/Référence
2) Déclarer une connection
3) Lui attribuer la chaine de connection
4) ouvrir la connection
5) Créer le recordset pour récupérer les données ou lancer la requete de modification, d'ajout ou de suppression.
1) Dim Connect as new adodb.connection
2) Connect.connectstring= _
"connection=Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=MS Access Database;DBQ=C:\Documents \mabase.mdb;DefaultDir=C:\Documents\Database;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"
Connect.Open
dim req as string
dim rs as new adodb.recordset
req="select * from matable"
set rs=connect.execute(req) ' ouvre le recordset
Je conseille de mettre la déclaration de connection dans module et de mettre public
public Connect as new adodb.connection
Connect.connectstring= _
"connection=Provider=MSDASQL.1;Persist Security Info=False;Extended Properties="DSN=MS Access Database;DBQ=C:\Documents \mabase.mdb;DefaultDir=C:\Documents\Database;DriverId=25;FIL=MS Access;MaxBufferSize=2048;PageTimeout=5;UID=admin;"
Ainsi la connection sera disponible dans toute l'application.
Après chaque utilisation utiliser
Connect.close
et pour utilisation
Connect.open
J'ai fourni une base de départ. Aller dans l'aide MSDN pour plus d'informations.
@+
cs_bastoch
Messages postés6Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention19 février 2004 19 févr. 2004 à 13:04
oups... j'ai appuyé deux fois.
Par ailleurs est il possible d'avoir un formulaire listant le contenu d'une table et un champ qui va chercher des infos dans une autre table ?
par exemple :
Selected ID Name
Oui/non 111 Essai
Les champs selected et ID font partis d'une même table, NAme provient d'une autre table, et l'ID est le même sur les 2 tables...
cs_labout
Messages postés1356Date d'inscriptionsamedi 8 décembre 2001StatutMembreDernière intervention23 octobre 20068 19 févr. 2004 à 13:12
labout
c'est dans la requete
Soit une table Client avec idclient, nom
une table Ventes avac IdClient, date, montant
SELECT client.idClient,client.nom, ventes.[date],ventes.Montant
From client, ventes
WHERE client.idclient=ventes.idcelent
La jointure est faite sur l'id client.
J'ai mis sur 4 lignes pour faciliter la lecture.
Note [date] car c'est un mot réservé, il faut faire aussi pour champs ayant des blancs ou des accents.
Il n'y a pas de limite de jointures une requete peut présenter 10 tables.
@+
cs_bastoch
Messages postés6Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention19 février 2004 19 févr. 2004 à 13:24
Merci, mais ca je connaissais, mon problème etait plus vis à vis d'access. comment faire pour que l'information issue de l'autre table soit affichée sur le formulaire.
Par contre je n'ai pas de CD de VB6; juste l'installe d'access...
et c'est un peu fouilli :)
cs_bastoch
Messages postés6Date d'inscriptionmercredi 18 février 2004StatutMembreDernière intervention19 février 2004 19 févr. 2004 à 14:30
???
J'ai essayé d'adapter ce code, mais pas moyen avec un formulaire continu vu que tout les champs on le meme nom...
Ce qui n'est pas très pratique.
Mais comme je le disais plus haut je suis habitué au interface web, ou bien java, et je n'ai pas la "logique access"...
Peut etre que je cherche a faire qqch qui ne ce se fait pas sous access...