Selection d'un produit

amsdiop Messages postés 29 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 2 octobre 2013 - 9 juin 2010 à 01:08
amsdiop Messages postés 29 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 2 octobre 2013 - 9 juin 2010 à 17:39
Salut à tous
je suis entrain de faire un programme de vente mais je suis confronté à un probleme. Quand je faire nouveau les parametres du vendeur s'affiche mais je n'arrive pas à selectionner un produit. Quelqu'un voudrait il m'aider merci.

2 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 6
9 juin 2010 à 09:02
Bonjour,

Heuuu oui on veut bien t'aider..à condition que tu nous donnes toutes les billes...

Quel type de base?organisation de celle(s)-ci? sélectionner un produit : où ça?datagrid, listview, listbox??

Bref si tu veux avoir une aide efficace, il va falloir penser à détailler un peu plus...

L'expérience, c'est une connerie par jour, mais jamais la même..
0
amsdiop Messages postés 29 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 2 octobre 2013
9 juin 2010 à 17:39
Bonjour
C'est une base access
Private Sub NouveauToolStripButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NouveauToolStripButton.Click, NouveauToolStripMenuItem.Click
Try
If NouveauToolStripButton.Text "&Nouveau" Or NouveauToolStripMenuItem.Text "&Nouveau" Then

Threading.Thread.Sleep(0)

Me.Fact_réf.Text = ""
'---------------------------
Me.VteDétails_réf.Text = ""
Me.VteDétails_Catég.Text = ""

Me.VteDétails_DésignationProduits.Text = ""
Me.VteDétails_PU.Text = "0"
Me.VteDétails_Tm.Text = "0"
Me.VteDétails_TVA.Text = "0"
Me.VteDétails_Tableau.Text = "0"
Me.VteDétails_PHT.Text = "0"
Me.VteDétails_PrixVte.Text = "0"
Me.VteDétails_QtéVendue.Text = "1"
Me.VteDétails_QtéReprise.Text = "0"
Me.VteDétails_QtéPdue.Text = "0"
Me.VteDétails_TxRemise.Text = "0"
Me.VteDétails_Remise.Text = "0"
Me.VteDétails_QCmdée.Text = "0"

'----------------------------
Me.Réglt_Facture.Text = ""
Me.Réglt_TotalHT.Text = "0"
Me.Réglt_TotalTVA.Text = "0"
Me.Réglt_Remise.Text = "0"
Me.Réglt_PTTC.Text = "0"
Me.Réglt_ArgentClient.Text = "0"
Me.Réglt_Monnaie_A_Rendre.Text = "0"
Me.Réglt_ModePaiemt.Text = "Comptant"
Me.Réglt_Nom_Banque_NumChéque_Tireur.Text = "Non utilisé"
Me.Réglt_Echeance.Text = Choix.Date_choisie.Value
'-------------------------------
Me.Text = "Connection à" & " : " & Choix.Empl_Entreprise.Text & "." & " Agent de Comptoire" & " : " & Choix.Empl_réf.Text & ";" & Choix.Empl_Prénom.Text & " ; " & Choix.Empl_Nom.Text

'---------------------Affichage du logo Entreprise------------------------------------

c.Dts.Clear()

c.cnstr(c.Chemin, c.DB)
c.Connection()
'---------------

'------------------------------


c.sql = "Select * from Entreprises where Entrep_Société like '" & Choix.Empl_Entreprise.Text & "';"
c.Cmd = New OleDbCommand(c.sql, c.cn)
c.Dta = New OleDbDataAdapter(c.Cmd) 'o.sql, o.cn
c.Dta.Fill(c.Dts, "Entreprises")
'Mettre dans un Objet DataTable une table du DataSet
c.Dtt = c.Dts.Tables("Entreprises")
c.Dtv = c.Dts.Tables("Entreprises").DefaultView
c.Dtv.AllowEdit = True

If i < 0 Then Exit Sub
'Lors de l'ouverture de la BD, s'il n'y a aucun
'enregistrement()
If i > c.Dtt.Rows.Count - 1 Then Exit Sub
' ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne)
'donne le contenu d'un champ dans une ligne donnée

Me.Fact_TxImgEntreprise.Text = c.Dtt.Rows(i).Item("Entrep_Logo")

If (Me.Fact_TxImgEntreprise.Text = Nothing) Then 'str_CheminImage
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.bmp") 'path &
'Sinon, si le chemin n'est pas valide
ElseIf Dir$(Me.Fact_TxImgEntreprise.Text) = vbNullString Then 'str_CheminImage'Dir$= ""
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.bmp") 'path &
'Sinon, si le chemin de l'image est valide
Else
'Charge l'image définie par l'utilisateur
obj_Image = Image.FromFile(c.Dtt.Rows(i).Item("Entrep_Logo"))

End If
Me.Fact_ImageEntrep.Image = obj_Image

'---------------------affichage du logo Employé-------------


c.sql2 = "Select * from Employés where Empl_réf like '" & Choix.Empl_réf.Text & "';"
c.Cmd = New OleDbCommand(c.sql2, c.cn)
c.Dta = New OleDbDataAdapter(c.Cmd) 'o.sql, o.cn
c.Dta.Fill(c.Dts, "Employés")
'Mettre dans un Objet DataTable une table du DataSet
c.Dtt = c.Dts.Tables("Employés")
c.Dtv = c.Dts.Tables("Employés").DefaultView
c.Dtv.AllowEdit = True

If i < 0 Then Exit Sub
'Lors de l'ouverture de la BD, s'il n'y a aucun
'enregistrement()
If i > c.Dtt.Rows.Count - 1 Then Exit Sub
' ObjetTable.Rows(Numéro de lignes).Item( Nom de colonne)
'donne le contenu d'un champ dans une ligne donnée

Me.Fact_TxImgEmployé.Text = c.Dtt.Rows(i).Item("Empl_Photo")
'--------------------------------------------------
If (Me.Fact_TxImgEmployé.Text = Nothing) Then
'str_CheminImage
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.jpg")
'path &
'Sinon, si le chemin n'est pas valide
ElseIf Dir$(Me.Fact_TxImgEmployé.Text) = vbNullString Then 'str_CheminImage'Dir$= ""
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.jpg") 'path &
'Sinon, si le chemin de l'image est valide
Else
'Charge l'image définie par l'utilisateur
obj_Image = Image.FromFile(c.Dtt.Rows(i).Item("Empl_Photo"))
End If
'Affiche l'image
'--------------------------------------
Me.Fact_ImageEmployé.Image = obj_Image
'--------------------------------------------------------------------------------
Me.Fact_Date.Value = Choix.Date_choisie.Value
'---------------------------------
Dim sql3 As String "SELECT VentesDétails.* FROM Factures INNER JOIN VentesDétails ON Factures.Fact_réf VentesDétails.VteDétails_réf " & _
"WHERE [VteDétails_réf] like '" & Fact_réf.Text & "';" '[VteDétails_Date] & "";"" & [VteDétails_réf] like '" & Choix.ListVentes.Text &

c.Cmd = New OleDbCommand(sql3, c.cn)
c.Dta = New OleDbDataAdapter(sql3, c.cn)
c.Dta.Fill(c.Dts, "VentesDétails")
c.Dtt = c.Dts.Tables("VentesDétails")
c.Dtt.TableName = "VentesDétails"


With Me.DataGridView
.AutoGenerateColumns = True
.RowsDefaultCellStyle.BackColor = Color.Pink
.AlternatingRowsDefaultCellStyle.BackColor = Color.GreenYellow
.DataSource = c.Dts.Tables("VentesDétails")
'----------Enlever------------------
.Columns("VteDétails_Date").Width = 150
.Columns("VteDétails_Date").HeaderText = "Date"
''-----------Enlever---------
.Columns("VteDétails_réf").Visible = False
.Columns("VteDétails_réf").Width = 20
.Columns("VteDétails_réf").HeaderText = "réf"

'------------------------------------------

.Columns("VteDétails_Prod").Width = 50
.Columns("VteDétails_Prod").HeaderText = "CIP"
.Columns("VteDétails_Prod").Visible = True


If .Rows(0).Cells("VteDétails_Prod").Value = CInt(Nothing) Then
compteur = DataGridView.RowCount - 1
Nbre_Vente.Text = CStr(compteur) & " vente"



Else

compteur = DataGridView.RowCount - 1
If compteur = 1 Then
Nbre_Vente.Text = CStr(compteur) & " iere vente"


ElseIf compteur > 1 Then
Nbre_Vente.Text = CStr(compteur) & " iéme vente"

End If
End If
'------------------------------------------
.Columns("VteDétails_DésignationProduits").HeaderText = "Produit"
.Columns("VteDétails_DésignationProduits").Width = 325
'------------------------------------
.Columns("VteDétails_Catég").HeaderText = "Catég"
.Columns("VteDétails_Catég").Width = 0
.Columns("VteDétails_Catég").Visible = False
'-----------------------------------------
.Columns("VteDétails_PU").HeaderText = "PU"
.Columns("VteDétails_PU").Width = 100
'------------Enlever----------------------------

.Columns("VteDétails_Tm").Visible = False
.Columns("VteDétails_Tm").HeaderText = ""
.Columns("VteDétails_Tm").Width = 0
'------------Enlever--------------------

.Columns("VteDétails_TVA").Visible = False
.Columns("VteDétails_TVA").HeaderText = "Tva"
.Columns("VteDétails_TVA").Width = 50
'------------Enlever-------------------

.Columns("VteDétails_Tableau").Visible = False
.Columns("VteDétails_Tableau").HeaderText = ""
.Columns("VteDétails_Tableau").Width = 0
'-------------------------------
.Columns("VteDétails_QtéVendue").HeaderText = "QtéVdue"
.Columns("VteDétails_QtéVendue").Width = 50
'--------------Enlever--------------------------

.Columns("VteDétails_QtéReprise").Visible = False
.Columns("VteDétails_QtéReprise").HeaderText = "Pdue"
.Columns("VteDétails_QtéReprise").Width = 0
'--------------------------------

.Columns("VteDétails_QtéPdue").Visible = False
.Columns("VteDétails_QtéPdue").HeaderText = "Pdue"
.Columns("VteDétails_QtéPdue").Width = 0
'---------------------------------

.Columns("VteDétails_TxRemise").Visible = False
.Columns("VteDétails_TxRemise").HeaderText = "TxR"
.Columns("VteDétails_TxRemise").Width = 50
'--------------------------------

.Columns("VteDétails_Remise").HeaderText = "Remise"
.Columns("VteDétails_Remise").Width = 50
'--------------------------------------
.Columns("VteDétails_PHT").HeaderText = "PHT"
.Columns("VteDétails_PHT").Width = 50
'---------------------------------------
.Columns("VteDétails_PrixVte").HeaderText = "PTTC"
.Columns("VteDétails_PrixVte").Width = 100
'----------------Enlever-----------------------

.Columns("VteDétails_QCmdée").Visible = False
.Columns("VteDétails_QCmdée").HeaderText = "QCmdée"
'------------Enlever-------------------
.Columns("VteDétails_QtéReçue").Visible = False
.Columns("VteDétails_QtéReçue").HeaderText = "QReçue"
.Columns("VteDétails_QtéReçue").Width = 0
'-------------------------------------

.Columns("VteDétails_QtéRetour").Visible = False
.Columns("VteDétails_QtéRetour").HeaderText = "QtéRetour"
.Columns("VteDétails_QtéRetour").Width = 0
'------------Enlever-------------------

.Columns("VteDétails_MotifRetour").Visible = False
.Columns("VteDétails_MotifRetour").HeaderText = "MotifRetour"
.Columns("VteDétails_MotifRetour").Width = 0
'------------Enlever-------------------

.Columns("VteDétails_Numero").Visible = False
.Columns("VteDétails_Numero").HeaderText = "VteDétails_Numero"
.Columns("VteDétails_Numero").Width = 0
'------------Enlever-------------------

End With

'***********Enregistrement*************************
'------Enregistrement table Facture-------------
c.Dts.Clear() ' essai
c.cnstr(c.Chemin, c.DB)
c.Connection()
c.sql = "select * from Factures "

c.Cmd = New OleDbCommand(c.sql, c.cn)
c.Dta = New OleDbDataAdapter(c.sql, c.cn)
c.Dta.Fill(c.Dts, "Factures")
c.Dtt = c.Dts.Tables("Factures")
c.Dtt.TableName = "Factures"


c.Dtrw = c.Dts.Tables("Factures").NewRow
c.Dtrw("Fact_Date") = Me.Fact_Date.Value
c.Dtrw("Fact_Entreprises") = Choix.ListEntreprises.Text
c.Dtrw("Fact_TxImgEntreprise") = Me.Fact_TxImgEntreprise.Text
c.Dtrw("Fact_Réf_Employé") = Choix.Empl_réf.Text
c.Dtrw("Fact_NomEmpl") = Choix.Empl_réf.Text & ";" & Choix.Empl_TitredeCourtoisie.Text & ";" & Choix.Empl_Prénom.Text & ";" & Choix.Empl_Nom.Text
c.Dtrw("Fact_TxImgEmployé") = Me.Fact_TxImgEmployé.Text

c.Dts.Tables("Factures").Rows.Add(c.Dtrw)
c.CmdB = New OleDbCommandBuilder(c.Dta) 'Pour modifier les valeurs changées dans le DataAdapter
c.Dta.Update(c.Dts, "Factures") 'Mise à jour
c.Dts.Clear() 'On vide le DataSet et on le 'recharge' de nouveau.
c.Dta.Fill(c.Dts, "Factures")
c.Dtt = c.Dts.Tables("Factures")

'---------------------affichage table Facture-------------------------
If i < 0 Then Exit Sub 'pas enregistrmt

If i > c.Dtt.Rows.Count - 1 Then Exit Sub 'sup au dernier enregistremt

i = c.Dtt.Rows.Count - 1

Me.Text = "Connection à " & " : " & Choix.Empl_Entreprise.Text & "." & " Agent de Comptoire" & " : " & Choix.Empl_réf.Text & ";" & Choix.Empl_Prénom.Text & " ; " & Choix.Empl_Nom.Text
Me.Fact_réf.Text = c.Dtt.Rows(i).Item("Fact_réf")
Me.Fact_Date.Value = c.Dtt.Rows(i).Item("Fact_Date")
Me.Fact_TxImgEntreprise.Text = c.Dtt.Rows(i).Item("Fact_TxImgEntreprise")
'-------------------------
If (Me.Fact_TxImgEntreprise.Text = Nothing) Then
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.jpg")
'Sinon, si le chemin n'est pas valide
ElseIf Dir$(Me.Fact_TxImgEntreprise.Text) = vbNullString Then
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.jpg")
'Sinon, si le chemin de l'image est valide
Else
'Charge l'image définie par l'utilisateur
obj_Image = Image.FromFile(c.Dtt.Rows(i).Item("Fact_TxImgEntreprise"))
End If

'Affiche l'image
Me.Fact_ImageEntrep.Image = obj_Image
'----------------------------------
Me.Fact_TxImgEmployé.Text = c.Dtt.Rows(i).Item("Fact_TxImgEmployé")
'--------------------------------------------------
If (Me.Fact_TxImgEmployé.Text = Nothing) Then
'str_CheminImage
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.jpg")
'path &
'Sinon, si le chemin n'est pas valide
ElseIf Dir$(Me.Fact_TxImgEmployé.Text) = vbNullString Then 'str_CheminImage'Dir$= ""
'Charge une image par défaut
obj_Image = Image.FromFile(path & "\Photos\NonDispo.jpg") 'path &
'Sinon, si le chemin de l'image est valide
Else
'Charge l'image définie par l'utilisateur
obj_Image = Image.FromFile(c.Dtt.Rows(i).Item("Fact_TxImgEmployé"))
End If
'Affiche l'image
'--------------------------------------
Me.Fact_ImageEmployé.Image = obj_Image

'---------Enregistrement de la table reglement----------------


c.sql2 = "select * from Réglement"

c.Cmd = New OleDbCommand(c.sql2, c.cn)
c.Dta = New OleDbDataAdapter(c.sql2, c.cn)
c.Dta.Fill(c.Dts, "Réglement")
c.Dtt = c.Dts.Tables("Réglement")
c.Dtt.TableName = "Réglement"

c.Dtrw = c.Dts.Tables("Réglement").NewRow
c.Dtrw("Réglt_Facture") = Me.Fact_réf.Text
'----------------------------------------------
c.Dtrw("Réglt_Date") = Me.Fact_Date.Value
c.Dtrw("Réglt_TotalHT") = Me.Réglt_TotalHT.Text
c.Dtrw("Réglt_TotalTVA") = Me.Réglt_TotalTVA.Text
c.Dtrw("Réglt_Echeance") = Me.Fact_Date.Value
c.Dtrw("Réglt_Remise") = Me.Réglt_Remise.Text
c.Dtrw("Réglt_PTTC") = Me.Réglt_PTTC.Text
c.Dtrw("Réglt_ModePaiemt") = Me.Réglt_ModePaiemt.Text
c.Dtrw("Réglt_ArgentClient") = Me.Réglt_ArgentClient.Text
c.Dtrw("Réglt_Monnaie_A_Rendre") = Me.Réglt_Monnaie_A_Rendre.Text
c.Dtrw("Réglt_Nom_Banque_NumChéque_Tireur") = Me.Réglt_Nom_Banque_NumChéque_Tireur.Text
c.Dts.Tables("Réglement").Rows.Add(c.Dtrw)
c.CmdB = New OleDbCommandBuilder(c.Dta) 'Pour modifier les valeurs changées dans le DataAdapter
c.Dta.Update(c.Dts, "Réglement") 'Mise à jour
c.Dts.Clear() 'On vide le DataSet et on le 'recharge' de nouveau.
c.Dta.Fill(c.Dts, "Réglement")
c.Dtt = c.Dts.Tables("Réglement")
''--------------Affichage reglement--------------------------------
If i < 0 Then Exit Sub 'pas enregistrmt

If i > c.Dtt.Rows.Count - 1 Then Exit Sub 'sup au dernier enregistremt

i = c.Dtt.Rows.Count - 1

Me.Réglt_Facture.Text = c.Dtt.Rows(i).Item("Réglt_Facture")
Me.Réglt_Echeance.Value = c.Dtt.Rows(i).Item("Réglt_Echeance")
Me.Réglt_TotalHT.Text = c.Dtt.Rows(i).Item("Réglt_TotalHT")
Me.Réglt_TotalTVA.Text = c.Dtt.Rows(i).Item("Réglt_TotalTVA")
Me.Réglt_Remise.Text = c.Dtt.Rows(i).Item("Réglt_Remise")
Me.Réglt_PTTC.Text = c.Dtt.Rows(i).Item("Réglt_PTTC")
Me.Réglt_ArgentClient.Text = c.Dtt.Rows(i).Item("Réglt_ArgentClient")
Me.Réglt_Monnaie_A_Rendre.Text = c.Dtt.Rows(i).Item("Réglt_Monnaie_A_Rendre")
Me.Réglt_ModePaiemt.Text = c.Dtt.Rows(i).Item("Réglt_ModePaiemt")
Me.Réglt_Nom_Banque_NumChéque_Tireur.Text = c.Dtt.Rows(i).Item("Réglt_Nom_Banque_NumChéque_Tireur")
'-------------------------------------
Choix.ListVentes.Items.Clear()

c.sql4 = "SELECT Factures.*" & _
"FROM Factures where Fact_Entreprises like '" & Choix.ListEntreprises.Text & "' And Fact_Réf_Employé like '" & Choix.Empl_réf.Text & "';"
c.LstBx2(c.sql4, Choix.ListVentes, 0, 1)

'--------------------------------------------------------
c.cn.Close()
'************************
et au niveau d'un texbox ou le module texbox.textchanged est développé

Private Sub VteDétails_Prod_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles VteDétails_Prod.TextChanged
' Try

c.Dts.Clear()


c.cnstr(c.Chemin, c.DB)
c.Connection()

'------------------------
ListStock.Items.Clear()
Dim rsStock As String = "SELECT rsStock.Prod_Num, [Produit] & ""; Stock= "" & [Stock] AS Noms FROM rsStock WHERE rsStock.Prod_Num like '" & VteDétails_Prod.Text & "';"
c.LstBx2(rsStock, ListStock, 0, 1)
'-----------------------------------------------

Me.VteDétails_DésignationProduits.Text = ""
Me.VteDétails_PU.Text = "0"
Me.VteDétails_Tm.Text = "0"
Me.VteDétails_TVA.Text = "0"
Me.VteDétails_Tableau.Text = "0"
Me.VteDétails_PHT.Text = "0"
Me.VteDétails_PrixVte.Text = "0"
Me.VteDétails_QtéVendue.Text = "5"
Me.VteDétails_QtéReprise.Text = "0"
Me.VteDétails_QtéPdue.Text = "0"
Me.VteDétails_TxRemise.Text = "0"
Me.VteDétails_Remise.Text = "0"
Me.VteDétails_QCmdée.Text = "0"


'----------------

'------------------
'Initialisation de la chaîne contenant l'instruction SQL
c.sql = "SELECT * FROM Produits where Produits.Prod_Num like '" & VteDétails_Prod.Text & "';"
'Instancer un objet Commande
c.Cmd = New OleDbCommand(c.sql, c.cn)
'Instancer un objet Adapter
c.Dta = New OleDbDataAdapter(c.sql, c.cn)

c.Dta.Fill(c.Dts, "Produits")
'Mettre dans un Objet DataTable une table du DataSet
c.Dtt = c.Dts.Tables("Produits")

If i < 0 Then Exit Sub
If i > c.Dtt.Rows.Count - 1 Then Exit Sub

Me.VteDétails_Prod.Text = c.Dtt.Rows(i).Item("Prod_Num")
Me.VteDétails_Catég.Text = c.Dtt.Rows(i).Item("Prod_CatégNom")
Me.VteDétails_DésignationProduits.Text = c.Dtt.Rows(i).Item("Prod_Désignation") & ";" & c.Dtt.Rows(i).Item("Prod_Galénique") & ";" & c.Dtt.Rows(i).Item("Prod_Contenu")
Me.VteDétails_PU.Text = c.Dtt.Rows(i).Item("Prod_PU")
Me.VteDétails_Tm.Text = c.Dtt.Rows(i).Item("Prod_TauxMarge")
Me.VteDétails_TVA.Text = c.Dtt.Rows(i).Item("Prod_TVA")
Me.VteDétails_Tableau.Text = c.Dtt.Rows(i).Item("Prod_Tableau")
Dim a As New ClassCalcul
Me.VteDétails_QtéVendue.Text = "1"
Me.VteDétails_QtéReprise.Text = "0"
Me.VteDétails_QtéPdue.Text = "0"
Me.VteDétails_QCmdée.Text = "0"
Me.VteDétails_TxRemise.Text = "0"
Me.VteDétails_Remise.Text = CDbl(VteDétails_PU.Text) * CDbl(VteDétails_TxRemise.Text)
Me.VteDétails_PHT.Text = a.PHTaxe(VteDétails_PHT, VteDétails_PU, VteDétails_Tm, VteDétails_Tableau, VteDétails_QtéVendue)
Me.VteDétails_PrixVte.Text = a.PV_AvecRemise(VteDétails_PrixVte, VteDétails_TVA, VteDétails_PU, VteDétails_Tm, VteDétails_Tableau, VteDétails_TxRemise, VteDétails_Remise, VteDétails_QtéVendue)
'-------------------


'Catch ex As Exception
' MessageBox.Show(ex.Message)
'End Try
End Sub
'*************
Le probleme est que le VteDétails_Prod_TextChanged ne reagit pas quand il est sollicité
0