Requete access et vb

Résolu
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005 - 27 août 2004 à 10:57
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005 - 30 août 2004 à 14:33
salut

j'ai un probléme avec une requete

voila j'ai une requete access qui m'affiche un resultat

donc avec des champs d'une table: table serveur

je voudrai avec du vb pouvoir mettre qui lit les champs

donc affecter le champs a une variable

je voudrai par la suite copier des données present dans un ligne
pour les mettre dans une autre ligne

voila
merci pour vos reponses

21 réponses

cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
30 août 2004 à 14:22

Sub Misajour()

Dim secondquarter As String
Dim db As DAO.Database
Dim tbl As DAO.Recordset
Dim fld(5)  '*************** nombre des champs 

Set db = CurrentDb()
Set tbl = db.OpenRecordset("secondquarter", dbOpenDynaset)

tbl.MoveFirst

Do Until tbl.EOF

For i = 0 To 4     '*************** nombre des champs -1
  fld(i) = tbl.fields(i)
Next

tbl.MoveNext

If Not tbl.EOF Then
tbl.Edit
For i = 0 To 4 '*************** nombre des champs -1
  If fld(i) <> "" Then tbl.fields(i) = fld(i)
Next
tbl.Update
End If

Loop

End Sub



:-p [mailto:cyberscorp2004@msn.com MSN] :big) [mailto:frop01@yahoo.fr YAHOO] >:)
3
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
30 août 2004 à 14:33
salut

j'ai essaye ton code et ca marche
donc c'est bon

merci beaucoups
3
bizbizu Messages postés 13 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 26 mai 2005
27 août 2004 à 11:04
Pour lire les champ c pas dur ...
Affecte ta table (ou resultat de requete) a une variable de type Recordset

Puis Movefirst te conduit en debut de table
Movenext à l'enregistrement suivant
EOF est une propriete qui se met a True lorsque tu n'as plus d'enregistrement a suivre dans ta table ...

Ainsi tu peux parcourir ta table ... par contre, pour copier la ligne et la mettre dans une autrze table, je ne vois pas d'autres solutions que du transfert champ par champ ... désolé ^^

Bon prog, ++
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 11:05
tu pourrai reformuler ta question, car elle pas tres claire, tu sais recuperer les valeurs dans ton programme ou non?

Enfin explique toi un peu mieux (c est peu etre aussi que je comprend pas)

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 11:10
merci pour ta reponse
je vais tout de suite essayer

alors j'explique plus clairement pour j rivet

j'ai une requete access qui a affiche des resultat

sur ces resultat il ya plusieur champs
le resultat est compose de deux ligne

je voudrai lire ces champs un a un pour une ligne

ensuite soit les champs sont vide et on ne fait rien
ou alors il ya des données et on copie
les données dans l'autre ligne

voila j'espere que c'est plus claire
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 11:15
Ok, BizBizu t as donner la reponse je crois.. ;)
Avec ADO, tout sera facile

Desole d avoir mal compris.

@+

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 11:20
salut

bon desole bizbizu j'ai pas trouve comment affecter la requete a une variable avec recordset

si tu pouvais m'aider un peu plus
ma requete s'apelle requête1
et la variable peu importe

merci
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 11:25
Dim tarequete as string
dim rs as new adodb.recordset
dim cnx as new adodb.connection

Tu sais creer la connection ?

rs.source = tarequete
rs.activeconnection = cnx
rs.open

la tu recupere les valeur
en faisant
do until rs.eof
Variablesdestockage = rs!LENOMDETESCHAMPs

rs.movenext
loop

rs.close

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 11:44
oui je pense savoir creer la connection mais en fait je sais pas si il ya besoin de creer une conection vu que la base sera ouverte
lors de l'execution

ainsi est ce que c'est le meme code et en elevant dim cnx as new adodb.connection

merci
ps pas grave jrivet
0
bizbizu Messages postés 13 Date d'inscription jeudi 6 novembre 2003 Statut Membre Dernière intervention 26 mai 2005
27 août 2004 à 11:44
Bon bah jrivet est plus rapide que moi ... ca devrait marcher avec cette methode sinon .. dis le ... et on trouvera autre chose ...

(Désolé je travaille parallelement, c pas toujours evident de rester sans interruption sur le forum ... les chefs surveillent ! lol)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 11:47
si ta connection est deja ouverte c est que tu passe par un dataenvironnemnt non?

car sinon tu dois can meme creer la connection pour que le recordest puisse travailler.

et sinon tu remplace le cnx dans rs.activeconnection = cnx par le nom de ta connection.

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 11:48
-> BizBizu: a qui le dit tu ;)

-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 11:56
desole mais la je ne sais pas ce que c'est un data environement

ce que je sais c'est que j'avais essayer de creer une connection et que un message m'a indiquer que ma base etait deja ouverte

voila
merci
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 12:10
peu etre a tu essayer de l ouvrir 2 fois, ou alors quelqu un d autre l utilise

Access et ses mysteres... ;)
-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 13:30
salut

j'essaye de faire la connection mais il me met la que la base
est placé dans un etat l'empechant d'etre ouverte ou verrouillé
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 13:41
finalement c'est bon ma conection marche
par contre je ne comprend pas tellement
après le rs.open

je dois marque le nom de tous mes champs

car en fait je voudrais que la variable doit lire champs a champs

et si il ya des données les copier sur l'autre ligne au meme endroit

voila
merci
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
27 août 2004 à 15:12
re

j'ai encore un probleme
lors de la compilation il marque "aucun texte de commande n'a ete defini pour l'objet de commande"

si tu sais ce que ca veut dire

merci
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
27 août 2004 à 17:57
salut desole pour le retard,

Montre ton code on va essayer de voir ce qui ne va pas ;)

@+
-------------------------------------------------
Essai ca sinon on trouvera autre chose
-------------------------------------------------

:big)
0
cs_frop01 Messages postés 1352 Date d'inscription lundi 27 octobre 2003 Statut Membre Dernière intervention 19 novembre 2008 2
27 août 2004 à 19:45
D'apres ce que j'ai compris le code ressemble un peu à ca :

do until rs.eof

champs1 = rs!champs1

rs.movenext

if champs1<>"" and not rs.eof then
rs.edit
rs!Champs1=champs1
rs.update

endif

loop

biensur le teste pour champs1 dépend du type de variable.

:-p [mailto:cyberscorp2004@msn.com MSN] :big)
0
alex102 Messages postés 37 Date d'inscription jeudi 19 août 2004 Statut Membre Dernière intervention 4 janvier 2005
30 août 2004 à 09:29
salut
desole pour le retard (c'etait le we) j'espere que vous avez paser un bon we

voila le code
Sub Misajour()

Dim secondquarter As String
Dim db As DAO.Database
Dim tbl As DAO.Recordset

db.Source = seconquarter
Set db = CurrentDb()
Set tbl = db.OpenRecordset("secondquarter", dbOpenDynaset)
Do Until tbl.EOF

tbl.MoveFirst
Loop
If secondquarter = "" Then

Else

tbl(nom_serveur) = "coucou"

End If
tbl.Update
tbl.MoveNext

tbl.Close

End Sub



voila
0
Rejoignez-nous