Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : Mise à jour d'une base Access [ Archives Visual Basic / Bases de données ] (Suffren)

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é dans : access, base, jour


Répondre à ce message

Sujets en rapport avec ce message

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 Access [ par chid_ra ] voilà j'ai un petit souci, je bosse sur une application VB avec Accessje sais ajouter un enregistrement avec .addnew/update, supprimer .delete. mais j Mettre a jour une base de donnée Access avec un fichier txt [ par bifag ] BonjourJe suis completement novice a l'utlisation d'Access. J'ai créer une base de donnée dans Access. Je souhaite ensuite pouvoir modifier ma base de


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



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
Temps d'éxécution de la page : 0,343 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.