rapidozoo
Messages postés4Date d'inscriptionmardi 12 décembre 2000StatutMembreDernière intervention26 août 2011
-
26 août 2011 à 05:13
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018
-
26 août 2011 à 18:54
Salut a tous
Je fait un application en VB.NET qui affiche / edit, les info d'une BD ACCESS.
l'affichage dans la datagridview marche bien, mais quand je change une valeur, mon code n'update pas ma BD.
Pouvez vous m'aider SVP.
Public Class MAIN
Public con As New OleDb.OleDbConnection
Public dbProvider As String
Public dbSource As String
Public ds As New DataSet
Public da As OleDb.OleDbDataAdapter
Public SQL As String
Private Sub MAIN_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
connection()
SQL = "SELECT * FROM bom "
da = New OleDb.OleDbDataAdapter(SQL, con)
ds.Clear()
ds.Reset()
da.Fill(ds, "data")
DataGridView1.DataSource = ds.Tables(0)
end sub
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
Dim cb As New OleDb.OleDbCommandBuilder(da)
da.Update(ds, "DATA")
End Sub
Public Class MAIN
Public con As New OleDb.OleDbConnection
Public dbProvider As String
Public dbSource As String
Public ds As New DataSet
Public da As OleDb.OleDbDataAdapter
Public SQL As String
Public NBS_ACHAT_N As Integer
Public NBS_ACHAT_C As Integer
Public NBS_ACHAT_O As Integer
Public NBS_LASER_N As Integer
Public NBS_LASER_C As Integer
Public NBS_LASER_O As Integer
Public NBS_PLIAGE_N As Integer
Public NBS_PLIAGE_C As Integer
Public NBS_PLIAGE_O As Integer
Public NBS_USINAGE_N As Integer
Public NBS_USINAGE_C As Integer
Public NBS_USINAGE_O As Integer
Public NBS_SOUDAGE_N As Integer
Public NBS_SOUDAGE_C As Integer
Public NBS_SOUDAGE_O As Integer
Sub FiltreProjet_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FiltreProjet.SelectedIndexChanged
sql = "SELECT * FROM bom WHERE LIGNE_BOM LIKE '" & FiltreProjet.Text & "-%'"
da = New OleDb.OleDbDataAdapter(SQL, con)
ds.Clear()
ds.Reset()
da.Fill(ds, "data")
STATISTIQUE()
Dim countr As Integer
Dim countc As Integer
Dim countt As Integer
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
con.Close()
Me.Close()
End Sub
Sub REMPLIR_FILTRE(ByVal PROJET As String, ByVal SECTION As String, ByVal PLAN As String)
Dim daCB As OleDb.OleDbDataAdapter
Dim sqlCB As String
Dim dsCB As New DataSet
Dim countr As Integer
Dim countc As Integer
Dim countt As Integer
Dim a As String
Dim i As Integer
If PROJET "" And SECTION "" Then
FiltreProjet.Items.Clear()
FiltreSection.Items.Clear()
FiltrePlan.Items.Clear()
FiltreProjet.Text = ""
FiltreSection.Text = ""
FiltrePlan.Text = ""
sqlCB = "SELECT Left([dessin],4) FROM DESSIN GROUP BY Left([dessin],4) "
daCB = New OleDb.OleDbDataAdapter(sqlCB, con)
daCB.Fill(dsCB, "data")
If countr > 0 Then
For i = 0 To countr - 1
a = dsCB.Tables(0).Rows(i).Item(0)
FiltreSection.Items.Add(dsCB.Tables(0).Rows(i).Item(0))
Next
End If
End If
If PROJET "" And SECTION "" Then
FiltrePlan.Items.Clear()
FiltrePlan.Text = ""
sqlCB = "SELECT Mid([dessin],10,2) FROM DESSIN WHERE DESSIN LIKE '" & PROJET & "-" & SECTION & "-%'"
daCB = New OleDb.OleDbDataAdapter(sqlCB, con)
daCB.Fill(dsCB, "data")
Sub FiltrePlan_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FiltrePlan.SelectedIndexChanged
Dim sql As String
Dim ds As New DataSet
sql = "SELECT * FROM bom WHERE LIGNE_BOM LIKE '" & FiltreProjet.Text & "-" & FiltreSection.Text & "-" & FiltrePlan.Text & "-%'"
da = New OleDb.OleDbDataAdapter(sql, con)
ds.Clear()
ds.Reset()
da.Fill(ds, "data")
STATISTIQUE()
Dim countr As Integer
Dim countc As Integer
Dim countt As Integer
sqltemp SQL & " and SOUDAGE 'N'"
datemp = New OleDb.OleDbDataAdapter(sqltemp, con)
dstemp.Clear()
dstemp.Reset()
datemp.Fill(dstemp, "temp")
NBS_SOUDAGE_N = dstemp.Tables(0).Rows.Count
TextBox13.Text = NBS_SOUDAGE_N
sqltemp SQL & " and SOUDAGE 'C'"
datemp = New OleDb.OleDbDataAdapter(sqltemp, con)
dstemp.Clear()
dstemp.Reset()
datemp.Fill(dstemp, "temp")
NBS_SOUDAGE_C = dstemp.Tables(0).Rows.Count
TextBox14.Text = NBS_SOUDAGE_C
sqltemp SQL & " and SOUDAGE 'O'"
datemp = New OleDb.OleDbDataAdapter(sqltemp, con)
dstemp.Clear()
dstemp.Reset()
datemp.Fill(dstemp, "temp")
NBS_SOUDAGE_O = dstemp.Tables(0).Rows.Count
TextBox15.Text = NBS_SOUDAGE_O
End Sub
Sub affiche()
' Exit Sub
Dim i As Integer
Dim j As Integer
For i = 0 To 15
DataGridView1.Columns(i).ReadOnly = True
Next
For i = 0 To DataGridView1.RowCount - 1
For j = 17 To DataGridView1.ColumnCount - 1
If Not IsDBNull(DataGridView1.Item(j, i).Value) Then
If DataGridView1.Item(j, i).Value "N" Then DataGridView1.Item(j, i).Style.BackColor Color.Red
If DataGridView1.Item(j, i).Value "C" Then DataGridView1.Item(j, i).Style.BackColor Color.Yellow
If DataGridView1.Item(j, i).Value "O" Then DataGridView1.Item(j, i).Style.BackColor Color.Green
End If
Next
Next
For i = 3 To 15
DataGridView1.Columns(i).Visible = False
Next
For i = 16 To DataGridView1.ColumnCount - 1
DataGridView1.Columns(i).Width = 70
DataGridView1.Columns(i).DefaultCellStyle.Alignment = DataGridViewContentAlignment.BottomCenter
Next
End Sub
Private Sub DataGridView1_CellValueChanged(ByVal sender As Object, ByVal e As System.Windows.Forms.DataGridViewCellEventArgs) Handles DataGridView1.CellValueChanged
Dim cb As New OleDb.OleDbCommandBuilder(da)
da.Update(ds, "DATA")
da.Update(ds, "DATA")
da.Update(ds, "DATA")
NHenry
Messages postés15112Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention13 avril 2024159 26 août 2011 à 12:47
Bonjour,
A la place de mettre que la balise code, utilises aussi le langage, la coloration syntaxique rendre tes messages plus digestes.
Presque pas de commentaire, donc il faut tenter des retrouver à quoi servent les lignes de code (sans coloration syntaxique en plus), je n'ai pas le temps de chercher à tout comprendre, avec quelques commentaires, et la coloration syntaxique, tu aura plus de réponses, je pense.
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018211 26 août 2011 à 18:54
Bonjour,
Désolé, mais je ne peux résister (surtout un vendredi) :
En fessant plus de test, je viens de constater, que le update ne ce fait pas a tous les coups
J'espère que tu n'en donnes pas trop.
Pas plus de 5 coups par fessée, hein .. et pas trop fort, s'il te plait
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne intallée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient