begin process at 2012 02 16 20:50:20
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

Bases de données

 > 

Mise à jour d'une base Access


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Mise à jour d'une base Access

jeudi 1 avril 2004 à 14:48:03 | Mise à jour d'une base Access

Suffren

Bonjour,
je dois modifier une base Access 2000 via un formulaire VB.Net et notamment remplacer une ligne (DataRow) par une autre or il memet une exception comme quoi elle existe déjà.
Quequ'un connaîtrait-il une commande différente de Add() pour réaliser cela?
Suffren
jeudi 1 avril 2004 à 20:06:42 | Re : Mise à jour d'une base Access

3Pom

Membre Club

Beh oui utilise les methodes BeginEdit() et EndEdit() de ton DataRow
vendredi 2 avril 2004 à 09:32:36 | Re : Mise à jour d'une base Access

Suffren

D'accord mais pour enregistrer cette modification d'un champ dans la base de données sans que VB.Net me dise que cette ligne existe déjà?
Suffren
vendredi 2 avril 2004 à 15:57:06 | Re : Mise à jour d'une base Access

3Pom

Membre Club
En fait tu selectionne la ligne ac un truc du genre
dim Dr as DataRow()
Dr=Ds.Tables("nomtable").rows.select("ton critere")
dr(0).BeginEdit
.....
.....
Dr(0).EndEdit
et voilà le tour est joué
vendredi 2 avril 2004 à 16:11:24 | Re : Mise à jour d'une base Access

Suffren

Que sélectionnes-tu comme critère?
Je fais les modifs à travers un formulaire qui les enregistre mais c'est pour les envoyer à la base que çà coince il me met que la ligne que je veux ajouter existe déjà alors que je luii avais demandé de la supprimer pour en créer une nouvelle.
As-tu une idée?
Suffren

PS : je nage depuis 3 jours sur ce problème, j'en ai marre !!!
vendredi 2 avril 2004 à 18:23:39 | Re : Mise à jour d'une base Access

3Pom

Membre Club
Beh en gle le critere c la clé primaire
"cle=valeur" regarde ds msdn y a des exemples la dessus
lundi 5 avril 2004 à 09:24:04 | Re : Mise à jour d'une base Access

Suffren

D'accord j'ai ajouté une clé primaire à ma base mais maintenant si je fais une modif, il me dit :
"Il n'y a pas de modification proposée".
Ensuite je ne vois pas comment utiliser la clé pour réaliser les modifs.
Suffren
lundi 5 avril 2004 à 11:24:46 | Re : Mise à jour d'une base Access

3Pom

Membre Club
Bon envois moi le code de modification ke j'y jette 1 coup d'oeil
lundi 5 avril 2004 à 11:55:02 | Re : Mise à jour d'une base Access

Suffren

Tout d'abord la fonction Modifier()


Private Sub CmdModifier_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdModifier.Click

objDataRow = objDataSet.Tables("client").Rows(intRowNumber)
objDataRow.BeginEdit()
'objDataRow("Num_client") = Me.TextID.Text
objDataRow("Nom") = Me.TxtNom.Text
objDataRow("Adresse") = Me.TxtAdresse.Text
objDataRow("Code_postal") = Me.TxtCode.Text
objDataRow("Ville") = Me.TxtVille.Text
objDataRow.EndEdit()

If objDataRow.HasVersion(DataRowVersion.Proposed) Then
Select Case NomCol
Case "Num_client"
MessageBox.Show("Modification de la clé primaire impossible!")
Exit Sub
Case "Nom"
If objDataRow("Nom", DataRowVersion.Current) Is objDataRow("Nom", DataRowVersion.Proposed) Then
objDataRow.CancelEdit()
Exit Sub
Else
objDataRow.AcceptChanges()
End If
Case "Adresse"
If objDataRow("Adresse", DataRowVersion.Current) Is objDataRow("Adresse", DataRowVersion.Proposed) Then
objDataRow.CancelEdit()
Exit Sub
Else
objDataRow.AcceptChanges()
End If
Case "Code_postal"
If objDataRow("Code_postal", DataRowVersion.Current) Is objDataRow("Code_postal", DataRowVersion.Proposed) Then
objDataRow.CancelEdit()
Exit Sub
Else
objDataRow.AcceptChanges()
End If
Case "Ville"
If objDataRow("Ville", DataRowVersion.Current) Is objDataRow("Ville", DataRowVersion.Proposed) Then
objDataRow.CancelEdit()
Exit Sub
Else
objDataRow.AcceptChanges()
End If
End Select
bolIsChanged = True
Else
MessageBox.Show("Pas de modification proposée")
bolIsChanged = False
End If


Puis la fanction qui enregistre la modification ou l'ajout d'un nouvel enregistrement:


Private Sub CmdEnregistrer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdEnregistrer.Click
If bolIsChanged Then

If bolIsNew Then
objDataRow = objDataSet.Tables("client").NewRow()
Else
objDataSet.Tables("client").Rows.Remove(objDataRow)
objDataRow = objDataSet.Tables("client").NewRow()
End If

objDataRow("Nom") = Me.TxtNom.Text
objDataRow("Adresse") = Me.TxtAdresse.Text
objDataRow("Code_postal") = Me.TxtCode.Text
objDataRow("Ville") = Me.TxtVille.Text

If bolIsNew Then
objDataSet.Tables("client").Rows.Add(objDataRow)
Else
objDataRow = objDataSet.Tables("client").Rows(intRowNumber)
objDataSet.Tables("client").Rows.Add(objDataRow)
End If

'Pour modifier les valeurs changées dans le DataAdapter
objCommandBuilder = New OleDbCommandBuilder(objDataAdapter)
objDataAdapter.Update(objDataSet, "client")

objDataSet.Clear()

objDataAdapter.Fill(objDataSet, "client")
objDataTable = objDataSet.Tables("client")

Application.DoEvents()
End If

displayRecord()
bolIsChanged = False

End Sub



Suffren
vendredi 14 mai 2004 à 09:32:53 | Re : Mise à jour d'une base Access

Suffren

Finalement, j'utiise une simple requête sql mais je me trompais dans les cotes et les guillemets ce qui faisait foirer la mise à jour.
Je mets mon code si çà peut aider quelqu'un.


Private Sub CmdOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CmdOK.Click

Dim num As String, nom As String, adr As String, ville As String
'On récupère les valeurs saisies dans le formulaire
num = TextNum.Text
nom = TextNom.Text
adr = TextAdresse.Text
ville = TextVille.Text
sql = "Update client Set Nom='" + nom + "', Adresse='" + adr + "', Ville='" + ville + "' Where Num_client=" + num + ";"
ExecuteRequete(sql)
End Sub

Private Sub ExecuteRequete(ByVal sql)
connexion = "Provider=Microsoft.Jet.OLEDB.4.0; " + "Data Source=C:\InetPub\wwwroot\EssaiFormulaires\Clients\Clients.mdb;"
conn = New OleDbConnection()
conn.ConnectionString = connexion
conn.Open()

cmd = New OleDbCommand(sql, conn)
adapter = New OleDbDataAdapter(cmd)
cmd.Connection() = conn
cmd.ExecuteNonQuery()
conn.Close()
End Sub

Voilà
Cordialement,
Suffren

1 2

Cette discussion est classée dans : access, base, jour


Répondre à ce message

Sujets en rapport avec ce message

mettre à jour la base ACCESS [ par petchy ] bonjour j'ai créer il y a 2 ans un programme pour la gestion d'un centre aéré,et j'enregistre mes données dans une base access. dans ma table j'ai plu problem de mise a jour access [ par abcdefj ] J'ai développé mon application sous Visual Studio 2008. Quand je lance mon programme en mode debug, cela fonctionne très bien : j'ajoute dans la base VBA:Mise a jour particulière [ par inver-brass ] Salut,Je m'appelle Idriss, par ce message, j'essai de trouver une facon de faire une Mise à Jour un peu particulière sous Access97:Cette mise à jour e Access et sql [ par wanny ] Salut à tous.Dans une appli, j'ai besoin de faire une mise à jour de certaines tables d'une bdd, si l'utilisateur n'utilise pas la dernière version.Po mise à jour base ACCESS [ par leodine ] Salut à tous!Je développe une petite appli ACCESS dans laquelle j'ai une fonctionnalité qui permet de remplir des infos divers : je remplis formulaire Mettre à jour en cascase sur access [ par m2rtech ] Salut, J'utilise une base Access, et je souhaite creer une relation entre 2 table en sql sur ma base . Probleme, je ne sais pas pas comment coder en S mise à jour enregistrement base access. [ par abaazizi ] malekBonjour,J'ai developpé une gestion application en mono poste sous VB4 base de données access (Datamgr).Pour acceder aux données des tables, je n' Dupliquer une base de donnée Access [ par alecccc ] Bonjour,J'aimerais faire une sauvegarde de ma base de donnée Access avec Vb.J'aimerais le dupliquer et l'enrégistrer dans un répertoire portant la dat Mise à jour d'une base access sur un site distant [ par CyberPapy67 ] Je dispose d'un site internet avec une base access, je voudrais faire une mise à jour périodique de ma base avec des données en local. Je programme en mettre à jour un chanmps d'une base de données crée sous access [ par hamidou1 ] Bonjour,je suis entrée de créer une base de données. je l'ai créée sous access et je la manipule sous VB. mon problème en est que , lors d'une livrais


Nos sponsors


Sondage...

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 15,070 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales