cs_moh120
Messages postés20Date d'inscriptionmercredi 10 octobre 2007StatutMembreDernière intervention10 juillet 2011
-
10 juil. 2011 à 11:59
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024
-
11 juil. 2011 à 21:43
Bonjour à toutes et à tous,
Je suis en train de faire une application gestion de stock d'un pharmacie avec vb2008 & sql2005
Le problème c'est que j'ai une erreur au moment où j'ajoute un nouveau article leur quantile plus de 1000 à textbox quantité "QuantityTextBox":
Public Class ItemsForm
Private Sub ItemsForm_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
Dim CuurentSuuplierCode As Short = CShort(Val(Me.SupplierNameComboBox.SelectedValue))
Me.TblSuppliersTableAdapter.Fill(Me.PharmaDataSet.TblSuppliers)
Me.SupplierNameComboBox.SelectedValue = CuurentSuuplierCode
End Sub
Private Sub ItemsForm_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
' ----- autorisation ------------------------------------------------------------------------------------------------------------- '
If Not (CurrentUser Is Nothing) Then
If Not CurrentUser.MainData Then
Call MessageBox.Show("Vous n'êtes pas autorisés à entrer", "Sécurité", MessageBoxButtons.OK, MessageBoxIcon.Exclamation)
Me.Close()
Else
Me.SaveButton.Enabled = CurrentUser.MainDataSave
Me.DeleteButton.Enabled = CurrentUser.MainDataDelete
End If
End If
' ----------------------------------------------------------------------------------------------------------------------------------- '
Me.TblOriginCountriesTableAdapter.Fill(Me.PharmaDataSet.TblOriginCountries)
Call Me.TblItemsTableAdapter.Fill(Me.PharmaDataSet.TblItems)
Me.iTemCodeTextBox.Text = ""
End Sub
Private Sub GridView1_CustomDrawCell(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.RowCellCustomDrawEventArgs) Handles GridView1.CustomDrawCell
If (e.Column.FieldName = "RunTimeID") Then
e.DisplayText = (e.RowHandle + 1).ToString
ElseIf (e.Column.FieldName = "Quantity") Then
e.DisplayText = Val(e.DisplayText).ToString
End If
End Sub
Private Sub GridView1_FocusedRowChanged(ByVal sender As Object, ByVal e As DevExpress.XtraGrid.Views.Base.FocusedRowChangedEventArgs) Handles GridView1.FocusedRowChanged
Try
Me.iTemCodeTextBox.Text = Me.GridView1.GetRowCellValue(e.FocusedRowHandle, "iTemCode").ToString
Catch Ex As Exception
Me.iTemCodeTextBox.Text = ""
End Try
End Sub
Private Sub iTemCodeTextBox_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles iTemCodeTextBox.TextChanged
Call Me.ErrorProvider1.Clear()
Dim MYRow As PharmaDataSet.TblItemsRow = Nothing
Try
MYRow = Me.PharmaDataSet.TblItems.FindByiTemCode(CLng(Val(Me.iTemCodeTextBox.Text)))
Catch Ex As Exception
Call Me.iTemCodeTextBox.Focus()
Call Me.ErrorProvider1.SetError(Me.iTemCodeTextBox, Ex.Message)
End Try
If (MYRow Is Nothing) Then
Me.iTemNameTextBox.Text = ""
Me.iTemBarCodeTextBox.Text = ""
Me.CostPriceTextBox.Text = ""
Me.SalePriceTextBox.Text = ""
Me.ProfitTextBox.Text = ""
Me.EnterDatePicker.Value = Today
' ----- Régler la date d'expiration au bout de 3 ans à partir de maintenant par défaut ---------------------------------------------------------------- '
Me.ExpireDatePicker.Value = DateAdd(DateInterval.Year, 3, DateSerial(Year(Today), Month(Today), 1))
Me.ExpireDatePicker.Checked = False
' ------------------------------------------------------------------------------------------------------------------------------- '
Me.QuantityTextBox.Text = ""
Me.MinQuantityTextBox.Text = ""
Me.OriginCountryComboBox.Text = ""
Me.SupplierNameComboBox.SelectedIndex = -1
Else
Me.iTemNameTextBox.Text = MYRow.iTemName
Me.iTemBarCodeTextBox.Text = MYRow.iTemBarCode
Me.CostPriceTextBox.Text = ValToStr(MYRow.CostPrice)
Me.SalePriceTextBox.Text = ValToStr(MYRow.SalePrice)
Me.QuantityTextBox.Text = MYRow.Quantity.ToString
Me.EnterDatePicker.Value = MYRow.EnterDate
Try
Me.ExpireDatePicker.Value = MYRow.ExpireDate
Catch Ex As Exception
Me.ExpireDatePicker.Checked = False
End Try
If Not Me.ExpireDatePicker.Checked Then
' ----- Régler la date d'expiration au bout de 3 ans à partir de maintenant par défaut ------------------------------------------------------------ '
Me.ExpireDatePicker.Value = DateAdd(DateInterval.Year, 3, DateSerial(Year(Today), Month(Today), 1))
' --------------------------------------------------------------------------------------------------------------------------- '
End If
Me.OriginCountryComboBox.Text = MYRow.OriginCountry
Me.SupplierNameComboBox.Text = MYRow.SupplierName
Me.MinQuantityTextBox.Text = MYRow.MinQuantity.ToString
Me.GridView1.FocusedRowHandle = Me.GridView1.LocateByDisplayText(-1, iTemCodeColumn, MYRow.iTemCode.ToString)
End If
End Sub
Private Sub CalcProfit(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CostPriceTextBox.TextChanged, SalePriceTextBox.TextChanged
' ----- Calculer lucratif ---------------------------------------------------------------------------------------------------------------- '
Me.ProfitTextBox.Text = ValToStr(StrToVal(Me.SalePriceTextBox.Text) - StrToVal(Me.CostPriceTextBox.Text))
' ----------------------------------------------------------------------------------------------------------------------------------- '
End Sub
Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
Call Me.ErrorProvider1.Clear()
Dim HasErrors As Boolean = False
If (Me.SupplierNameComboBox.SelectedIndex < 0) Then
HasErrors = True
Call Me.SupplierNameComboBox.Focus()
Call ErrorProvider1.SetError(Me.SupplierNameComboBox, "S.V.P Sélectionner le Nom de Fournisseur")
End If
If (StrToVal(Me.QuantityTextBox.Text) < 0) Then
HasErrors = True
Call Me.QuantityTextBox.Focus()
Call ErrorProvider1.SetError(Me.QuantityTextBox, "Ne Peut Pas Entrer Une Quntité en Moins")
End If
If (StrToVal(Me.MinQuantityTextBox.Text) < 0) Then
HasErrors = True
Call Me.MinQuantityTextBox.Focus()
Call ErrorProvider1.SetError(Me.MinQuantityTextBox, "Ne Peut Pas Entrer Une Quntité en Moins")
End If
If Me.ExpireDatePicker.Checked Then
If Date.Compare(Me.EnterDatePicker.Value.Date.AddDays(7), Me.ExpireDatePicker.Value.Date) = 0 Then
HasErrors = True
Call Me.ExpireDatePicker.Focus()
Call ErrorProvider1.SetError(Me.ExpireDatePicker, "Ne Peut Pas Entrer la Date de Classe Unique en Son Introduction Avant la Date d'Expiration à 7 Jours")
End If
End If
If (StrToVal(Me.ProfitTextBox.Text) <= 0) Then
HasErrors = True
Call Me.SalePriceTextBox.Focus()
Call ErrorProvider1.SetError(Me.ProfitTextBox, "SVP Remplissez la Champ de Vente et l'Achat")
End If
If (StrToVal(Me.SalePriceTextBox.Text) <= 0) Then
HasErrors = True
Call Me.SalePriceTextBox.Focus()
Call ErrorProvider1.SetError(Me.SalePriceTextBox, "SVP Entrez le Prix de Vente")
End If
If (StrToVal(Me.CostPriceTextBox.Text) <= 0) Then
HasErrors = True
Call Me.CostPriceTextBox.Focus()
Call ErrorProvider1.SetError(Me.CostPriceTextBox, "SVP Entrez le Prix d'Achat")
End If
If (Me.iTemNameTextBox.Text.Trim.Length < 1) Then
HasErrors = True
Call Me.iTemNameTextBox.Focus()
Call ErrorProvider1.SetError(Me.iTemNameTextBox, "SVP Entrez le Nom Produit")
End If
If (Me.iTemCodeTextBox.Text.Trim.Length < 1) Then
HasErrors = True
Call Me.iTemCodeTextBox.Focus()
Call ErrorProvider1.SetError(Me.iTemCodeTextBox, "SVP Entrez le Code Produit")
End If
If HasErrors Then Return
' ----------------------------------------------------------------------------------------------------------------------------------- '
Dim MYRow As PharmaDataSet.TblItemsRow = Nothing
Try
MYRow = Me.PharmaDataSet.TblItems.FindByiTemCode(CLng(Val(Me.iTemCodeTextBox.Text)))
Catch Ex As Exception
Call Me.iTemCodeTextBox.Focus()
Call Me.ErrorProvider1.SetError(Me.iTemCodeTextBox, Ex.Message)
End Try
Try
If (MYRow Is Nothing) Then ' Nouveau Row
Call Me.TblItemsTableAdapter.Insert(CLng(Val(Me.iTemCodeTextBox.Text)), Me.iTemNameTextBox.Text, Me.iTemBarCodeTextBox.Text, StrToDec(Me.CostPriceTextBox.Text), StrToDec(Me.SalePriceTextBox.Text), CDec(Val(Me.QuantityTextBox.Text)), Me.EnterDatePicker.Value, Me.ExpireDatePicker.Value, Me.OriginCountryComboBox.Text, CShort(Val(Me.SupplierNameComboBox.SelectedValue)), CShort(Val(Me.MinQuantityTextBox.Text)))
Else ' Mise à jour Row
Call Me.TblItemsTableAdapter.Update(Me.iTemNameTextBox.Text, Me.iTemBarCodeTextBox.Text, StrToDec(Me.CostPriceTextBox.Text), StrToDec(Me.SalePriceTextBox.Text), CDec(Val(Me.QuantityTextBox.Text)), Me.EnterDatePicker.Value, Me.ExpireDatePicker.Value, Me.OriginCountryComboBox.Text, CShort(Val(Me.SupplierNameComboBox.SelectedValue)), CShort(Val(Me.MinQuantityTextBox.Text)), CLng(Val(Me.iTemCodeTextBox.Text)))
End If
Call Me.TblItemsTableAdapter.Fill(Me.PharmaDataSet.TblItems)
Call MessageBox.Show("L'ajout est Effectué Avec Succes", "Ajouter", MessageBoxButtons.OK, MessageBoxIcon.Asterisk)
Me.iTemCodeTextBox.Text = ""
Catch Ex As Exception
Call MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
Call Me.iTemCodeTextBox.Focus()
End Sub
Private Sub DeleteButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles DeleteButton.Click
Call Me.ErrorProvider1.Clear()
Dim MYRow As PharmaDataSet.TblItemsRow = Nothing
Try
MYRow = Me.PharmaDataSet.TblItems.FindByiTemCode(CLng(Val(Me.iTemCodeTextBox.Text)))
Catch Ex As Exception
Call Me.iTemCodeTextBox.Focus()
Call Me.ErrorProvider1.SetError(Me.iTemCodeTextBox, Ex.Message)
End Try
Try
If (MYRow Is Nothing) Then
Call Me.ErrorProvider1.SetError(Me.iTemCodeTextBox, "SVP Entrer Votre Code Article")
Else ' supprimer Row
If MessageBox.Show("Voulez Vous Vraiment Supprimer Cet Article?", "Confirmation", MessageBoxButtons.YesNo, MessageBoxIcon.Question) = Windows.Forms.DialogResult.Yes Then
Call Me.TblItemsTableAdapter.Delete(CLng(Val(Me.iTemCodeTextBox.Text)))
Call Me.TblItemsTableAdapter.Fill(Me.PharmaDataSet.TblItems)
Me.iTemCodeTextBox.Text = ""
End If
End If
Catch Ex As SqlClient.SqlException
If Ex.Number = 547 Then
Call MessageBox.Show("Ne Peut Pas Supprimer l'Article Avant de Supprimer tous les Enregistrements", "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
Call MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End If
Catch Ex As Exception
Call MessageBox.Show(Ex.Message, "Erreur", MessageBoxButtons.OK, MessageBoxIcon.Error)
End Try
End Sub
Private Sub ExitButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles ExitButton.Click
Call Me.Close()
End Sub
End Class
NHenry
Messages postés15113Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention22 avril 2024159 11 juil. 2011 à 21:43
Bonjour,
Est-ce que le séparateur attendu ne serait pas un . au lieu d'une , ?
Sinon, c'est bien de mettre du code avec la coloration syntaxique (c'est pas si souvent que ça arrive), mais dire à quelle ligne (avec un commentaire par exemple) aiderait pas mal à filtrer car c'est pas toujours très digeste de lire un code et de le comprendre.