Access

chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006 - 16 avril 2005 à 12:29
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 - 16 avril 2005 à 17:36
voilà j'ai un petit souci, je bosse sur une application VB avec Access
je sais ajouter un enregistrement avec .addnew/update, supprimer .delete. mais je souhaite mettre à jour des enregistrements par le biais de TextBox en modifiant un champ et en cliquant sur enregistrer (Cmd)

dim base as datatbase
set base = opendatabase("C`:\...")

dim obj as recordset
set obj = base.openrecordset("Table", dbOpenDynaset)

with obj
.MoveFirst
While not .EOF
'Mise à jour des données

wend
end with

Comment terminer le code ???? C'est urgent grave

12 réponses

cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 12:34
Salut, le principe n'est pas très compliquer, je te retrouverais un code dans quelques minutes, mais en fait il faut que tu fasse une selection dans ta base, donc une requette SQL, ensuite tu tu édite ton Recordset avec non pas cette fois .Addnew, ou .Delete, mais .Edit, ensuite tu précise des champs et ce qu'il contiendrons en respectant les formats, puis tu fait ta méthode .Update et c'est fini


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
16 avril 2005 à 12:35
Private cmd MettreAjour_Click()
obj.Edit '(permet de modifier l'enregistrement)
End Sub

Private cmdEnregistre_Click()
obj.UpDate
End Sub

jpleroisse
0
chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006
16 avril 2005 à 12:38
Ok, c'est cool, donc en modifiant les champs dont je souhaite, et en cliquant sur un Cmd Enregistrer (que j'aurais préalablement créer) ça sera bon?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 12:41
Voici mon exemple promis :

    Dim wscltsrc As Workspace 'variable d'espace de travail
    Dim rscltsrc As Recordset 'variable de recordset
    Dim dbcltsrc As Database 'variable de database
    Set wscltsrc = DBEngine.Workspaces(0)   'Définition de l'espace de travail
    Set dbcltsrc = wscltsrc.OpenDatabase(fMainForm.baseurl, False, False, "MS Access;PWD=TonPassword")   'Connection à la base
    Set rscltsrc = dbcltsrc.OpenRecordset("select * from usr where user='Administrateur'", dbOpenDynaset)   'Recherche de 'Administrateur' dans la base
        With rscltsrc   'Utilisation du Recordset
            .Edit   'Passage en mode édition
            !pwd = Text1.Text   'Modification des champs
            !mach = Text2.Text
            .Update   'Mise à jour
        End With   'C'est FINI



Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0

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

Posez votre question
chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006
16 avril 2005 à 12:42
J'ai déjà essayer le .Edit, il m'en créer un autre d'enregistrement voici les lignes de code dit moi ou je devrais le placer, car à mon avis c'est dut à sa position

With Obj
.movefirst
while not .EOF
.Edit
!Nom = nom.text
!Prenom = prenom.text
etc...

wend
.moveNext
end With
0
chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006
16 avril 2005 à 12:43
ok c'est cool je vais le tester merci, je te dis si ça a fonctionner, t cool
0
chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006
16 avril 2005 à 13:06
j'ai remarqué que pour cet exemple tu cherches 'administrateur' et tu lui fait les modifs. Moi je souhaite chercher une personne dans la base entière, ces données s'affiche dans les TextBox, je modifie un champ et ensuite je l'enregistre, ça le fait quand même?
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 13:27
Dans mon exemple, je recherche dans ma base, au champs 'User' l'utilisateur "Administrateur", ensuite je lui fai direct les modif. en fait dans mon projet, je fait un SELECT pour afficher les donnée dans les textbox, puis quand je clique sur le bouton pour l'updatage, il refait la recherche et applique la modif, je refait la recherche afin d'être certain qu'un autre utilisateur ne l'ai pas retirer entre temps.
j'ai déjà utiliser cette méthodes pleins de fois, et pour charger les donnée, j'utilise :

textbox1.text=rscltsrc.fields("User")

pour afficher la donnée User dans le textebox.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006
16 avril 2005 à 14:15
Et pour mon application c'est possible de trouver un délire comme le tient sauf qui effectue une recherche dans toute la base
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 14:17
Il faudrait pour cela lui faire faire une requette sur plusieurs table et d'updater ensuite, ou de faire une requette par table puis l'updatage et passer à la table suivante.


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
chid_ra Messages postés 18 Date d'inscription samedi 26 février 2005 Statut Membre Dernière intervention 11 mai 2006
16 avril 2005 à 14:26
Justement je n'ai qu'une seule Table, et c'est une recherche sur l'ensemble de cette table que je souhaite et modifier ensuite l'enregistrement
0
cboulas Messages postés 2641 Date d'inscription mercredi 2 juin 2004 Statut Membre Dernière intervention 8 janvier 2014 16
16 avril 2005 à 17:36
Voici alors la commande SQL à éxécuter : "SELECT * From TaTable"


Chris...
Web : Firstruner - eMail : [mailto:support@firstruner.com Support]&nbs
0
Rejoignez-nous