Private Sub MiseAJourSortie() 'Mise a jour sortie liquidée ' On Error Resume Next sql = "SELECT ID, CodeOut, Liquidé FROM Sortie" _ + " WHERE [CodeOut] Like '" & Trim(TCodOut.Text) & "'" cmd = New OleDb.OleDbCommand(sql) SOuTA = New OleDb.OleDbDataAdapter(cmd) cmd.Connection() = GP CDSet = New DataSet SOuTA.Fill(CDSet, "Sortie") For Each row As DataRow In CDSet.Tables("Sortie").Rows row("Liquidé") = "OUI" Next CmdB = New OleDb.OleDbCommandBuilder(SOuTA) SOuTA.UpdateCommand = CmdB.GetUpdateCommand SOuTA.Update(CDSet, "Sortie") : CDSet.Clear() End Sub
RowN = SOuT.Rows.Count - 1 If RowN = SOuT.Rows.Count - 1 Then ' RowN vaut forcément SOuT.Rows.Count - 1 puisque c'est la valeur que tu viens de lui mettre.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionID;Article;Stock;PU;Quantité 1;AA;119;2988;4 2;BT;208;9098;2 3;AZ;298;5866;8
Imports System Imports System.Collections.Generic Imports System.ComponentModel Imports System.Runtime.CompilerServices Public Class ProduitColby Implements INotifyPropertyChanged Private _ID As Integer Public Sub New(ByVal MonID As Integer, ByVal MonArticle As String, ByVal MonStock As Integer, ByVal MonPU As Double, ByVal MaQuantite As Integer) ID = MonID lArticle = MonArticle leStock = MonStock pu = MonPU laQuantite = MaQuantite End Sub #Region "PropertyChanged" Public Event PropertyChanged As PropertyChangedEventHandler Implements INotifyPropertyChanged.PropertyChanged ''' <summary> ''' Vérifie si la propriété doit être mise à jour. ''' Le fait si besoin et déclenche propertyChange ''' </summary> ''' <typeparamname="T"></typeparam> ''' <paramname="field">Champ privé de la propriété</param> ''' <paramname="value">Nouvelle valeur</param> ''' <paramname="property">Nom de la propriété, passée automatiquement, donc pas besoin de vérifier qu'elle existe.</param> ''' <returns></returns> ''' <remarks>Méthode implémentée par JD</remarks> Protected Function ChangeAndNotify(Of T)(ByRef field As T, ByVal value As T, <CallerMemberName> ByVal Optional [property] As String = Nothing) As Boolean ' Vérification de la validité des paramètres If Equals([property], Nothing) Then Throw New ArgumentNullException("property") End If ' Vérification de l'utilité de la modification/notification If EqualityComparer(Of T).Default.Equals(field, value) Then Return False End If ' Modification field = value ' Notification RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs([property])) Return True End Function #End Region #Region "Propriétés" Public Property ID As Integer Get Return _ID End Get Private Set(ByVal value As Integer) _ID = value End Set End Property Private lArticle As String ''' <summary> ''' Nom du produit ''' </summary> Public Property Article As String Get Return lArticle End Get Set(ByVal value As String) If ChangeAndNotify(lArticle, value) Then Ischanged = True End Set End Property Private leStock As Integer ''' <summary> ''' Stock du produit ''' </summary> Public Property Stock As Integer Get Return leStock End Get Set(ByVal value As Integer) If ChangeAndNotify(leStock, value) Then Ischanged = True End Set End Property Private pu As Double ''' <summary> ''' Prix du produit ''' </summary> Public Property PrixUnitaire As Double Get Return pu End Get Set(ByVal value As Double) If ChangeAndNotify(pu, value) Then Ischanged = True End Set End Property Private laQuantite As Integer ''' <summary> ''' Quantité commandée ''' </summary> Public Property Quantite As Integer Get Return laQuantite End Get Set(ByVal value As Integer) If ChangeAndNotify(laQuantite, value) Then RaiseEvent PropertyChanged(Me, New PropertyChangedEventArgs("Montant")) 'signale que le montant commandé à changé Ischanged = True End If End Set End Property ''' <summary> ''' Prix total commandé ''' </summary> Public ReadOnly Property Montant As Double Get Return pu * laQuantite End Get End Property Private _Ischanged As Boolean = False Public Property Ischanged As Boolean Get Return _Ischanged End Get Private Set(ByVal value As Boolean) _Ischanged = value End Set End Property #End Region End Class
Private Sub ChargeProduitsColbyCSV() lesProduits = (From l In File.ReadAllLines("Colby.csv").Skip(1) Let datas = l.Split(";"c) Select New ProduitColby(Integer.Parse(datas(0)), datas(1), Integer.Parse(datas(2)), Double.Parse(datas(3)), Integer.Parse(datas(4))) ).ToList() ProduitColbyBindingSource.DataSource = lesProduits End Sub Private Sub EnregistreProduitColbyCSV() Dim aEcrire = From p In lesProduits Where p.Ischanged Select $"{p.ID};{p.Article};{p.Stock};{p.PrixUnitaire};{p.Quantite}" File.WriteAllLines("ColbyProduitsModifies.csv", aEcrire) End Sub
Modifié le 29 juil. 2021 à 07:44
Ton vieux élève est de retour.
Voulant réutiliser ce bout de code je voudrais savoir comment le formuler dans le cas ou le donnée sa écrire sont différentes sur chaque ligne et non plus les mêmes.
par exemple sur chaque lignes de la grille les données sont différentes et je voudrais les écrire en même temps et non une a une.
La ligne 0 de grille = A
La ligne 1 de la grille = B
La ligne 2 de la grille = 3
Après maintes recherche j'ai ce code sur le net mais iil ne marche pas
Merci d'avance
29 juil. 2021 à 15:06
Je ne comprends pas ton besoin
30 juil. 2021 à 03:01
Pour être simple , je voudrais enregistrer dans une base access une somme de données chargées dans un datagridview
La dernière fois pour enregistrer la même donnée sur plusieurs ligne vous m'aviez envoyer un bout de code qui a été très instructif. Encore merci pour cela.
Cette fois je voudrais enregistrer des modification de plusieurs colonnes sur deux ou trois lignes en même temps.
Mon souhait est d'enregistrer ces 3 lignes du datagridview en même temps si cela est possible par code. voila le datagridview, par exemple, (c'est une capture d'écran).
Si je dois enregistrer toutes les données de chaque cellule dans une table composée de ces 5 colonnes plus celle de la clef primaire, je fais comment svp?
Merci encore pour la disponibilité
30 juil. 2021 à 14:11
Modifié le 2 août 2021 à 17:16
Bonjour Whismeril
Non.
Je charge la grille par le code ci-dessus.
Il arrive de modifier des cellules ou d'ajouter certaines données directement dans la grille.
J'applique un filtres qui tries la grille et affiche uniquement les lignes ou il y a eu modification
Ce qui donne la grille ci-après par exemple
Mon souhait c'est d'enregistrer les données de cette grille dans une autre table. Mais comment écrire le code
pour que chaque ligne soit enregistrée. Si c'était une ligne ce serait facile, mais comment enregistrer par
exemple ces 3 lignes directement en une seule fois.
merci d'avance