Salut le forum
Merci à rdurupt pour le code ci-dessous réalisé.
Je reprend cette citation de rdurupt qui m'a beaucoup plu:
Je suis à la recherche d'une solution qui me permettra de gérer les modifications des données dans ma base de données. Ma base de données est un classeur fermé et intitulé "VISA_CHEQUE".Ce qui tue le temps, c'est le développement de routine
VISA_CHEQUE est alimenté à partir d'un autre Fichier (Fichier_Départ) comportant un usf.
J'ai ajouté un textbox dans mon usf initial qui permet d'attribuer des références automatiquement (comme pour la génération automatique de numéro de facture).
Dans un autre usf (toujours dans Fichier_Départ) j'ai une combobox1 et lorsque je choisis une référence et que je clic sur le bouton "afficher" les autres controls sont renseignés des données correspondant à la référence choisie (voir éléments de correspondance):
Je souhaite lorsque je modifie une donnée d'un control donné, à la validation, les données située sur la ligne de la référence choisie (valeur de la combobox1) devront être remplacées par les données issues des controls. Autrement dit, au lieu de coller les données à la suite d'un précédent collage, les données devront être collées sur la ligne à modifier dont le mot clé sera la référence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11 TextBox12 = Rs("NUM_CLIENT") TextBox2 = Rs("REVENU") TextBox3 = Rs("CUMUL_ENGAGEMENT") TextBox4 = Rs("VISA_DEMANDE") TextBox5 = Rs("AUTORISATION") TextBox6 = Rs("SOLDE_AVANT_VISA") TextBox7 = Rs("SOLDE_APRES_VISA") TextBox21 = Rs("SITUATION_NETTE") TextBox8 = Rs("DELAI_DE_RECUPERATION") TextObjet = Rs("COMMENTAIRE_CC") TextBox10 = Rs("CODE_INITIATEUR")
Le code ci-dessous permet de copier-coller vers le fichier contenant la feuille sur laquelle le collage devra se faire (valeur combobox1):
Le code à réaliser sera affecter à un bouton de commande "MODIFIER".
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 Private Sub Initiation_Click() If ValideFormulaire(Me) = False Then Exit Sub Dim strsQL As String Dim Rs Dim mytime mytime = Time OpenConnexion Fichier sql = "select * from [" & Feuille1 & "] where ucase(trim(REFERENCE)) ='" & Trim(TextBox18.Value) & "';" 'sql = Replace(Me.TextBox1, "'", "''") Set Rs = CreateObject("adodb.recordset") Rs.Open sql, Cnx If Rs.EOF = False Then MsgBox "Existe" Else strsQL = "insert into [" & Feuille1 & "] ([REFERENCE],[DATE_INITIATION],[NUM_CLIENT],[REVENU],[CUMUL_ENGAGEMENT],[VISA_DEMANDE],[AUTORISATION],[SOLDE_AVANT_VISA],[SOLDE_APRES_VISA],[SITUATION_NETTE],[DELAI_DE_RECUPERATION],[COMMENTAIRE_CC],[NIVEAU_URGENCE],[CODE_INITIATEUR],[HEURE_ENVOI],[CODE_VALIDEUR1],[CODE_VALIDEUR2]) " strsQL = strsQL & "Values ('" & Trim(TextBox18) & "','" & Trim(Date) & "','" & Trim(TextBox1.Value) & _ "','" & Trim(TextBox2.Value) & "','" & Trim(TextBox7.Value) & "','" & _ Trim(TextBox8.Value) & "','" & Trim(TextBox9.Value) & "','" & Trim(TextBox10.Value) & "','" & Trim(TextBox11.Value) & "','" & Trim(TextBox12.Value) & "','" & Trim(TextBox13.Value) & "', '" & TextObjet.Value & " ', '" & Label20.Caption & " ', '" & Trim(TextBox14.Value) & " ', '" & Trim(mytime) & " ', '" & Trim(TextBox15) & " ', '" & Trim(TextBox16) & "');" 'sql = Replace(Me.TextObjet, "'", "''") Cnx.Execute strsQL End If Rs.Close Set Rs = Nothing Cnx.Close Set Cnx = Nothing Unload Me End Sub
N.B :j'ai déjà le code qui permet d'afficher les données correspondant à la référence choisie.
Merci pour vos éventuelles contributions
Partager