|
Trouver une ressource
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)
Informations & options pour cette discussion
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
|
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
|
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
|
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
|
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
|
|
|
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
Livres en rapport
|
Téléchargements
Logiciels à télécharger sur le même thème :
Comparez les prix Nouvelle version
|