Εμφάνιση ενός μόνο μηνύματος
  #8  
Παλιά 05-07-12, 13:23
Το avatar του χρήστη Tasos
Tasos Ο χρήστης Tasos δεν είναι συνδεδεμένος
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.035
Προεπιλογή

Καλησπέρα σε όλους!

Αγαπητέ Σαράντο, είδα τη βάση σου και συγκεκριμένα την υποφόρμα OrderDetails_subform

Το μέγεθος αλλά και οι ιδιαιτερότητες της πανέμορφης αυτής βάσης δεν μου επιτρέπουν να την επισυνάψω στο φόρουμ.

Σε παρακαλώ, τη επόμενη φορά που θα χρειαστείς κάτι, να παραθέτεις ένα παράδειγμα όπου θα φαίνεται το ζητούμενο.

Έτσι, αφενός θα μπορούν να συμμετέχουν και οι υπόλοιποι αφετέρου θα μπορεί κανείς να αποκομίσει κάτι από τη συζήτηση.

Ο παρακάτω κώδικας ανήκει στη φόρμα OrderDetails_subform και πιστεύω να σε καλύπτει.


Κώδικας:
Option Compare Database
Option Explicit
Private Sub Barcode_AfterUpdate()
    Me.ProductName = Barcode.Column(2)
    Me.UnitPrice = Barcode.Column(4)
    Me.SalePrice = Barcode.Column(6)
    Me.SalesTax = Barcode.Column(5)
    Me.ProductID = Barcode.Column(7)
    Me.Quantity.Value = 1
    '+++++++++++++++++++++++++++++++++++++++
    Quantity_AfterUpdate
    '+++++++++++++++++++++++++++++++++++++++
    Me.Quantity.SetFocus
    Me.Quantity.SelStart = 0
    Me.Quantity.SelLength = 1
End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)
    Dim cnt As Long, LngProductID As Long, strPurchaseOrderNumber As String, LngQty As Long
    Dim CurrSalePrice As Variant, CurrUnitPrice As Variant, strSQL As String
    If Me.NewRecord Then
        CurrSalePrice = Me.SalePrice + 0
        CurrUnitPrice = Me.UnitPrice + 0
        LngQty = Me.Quantity + 0
        LngProductID = Me.ProductID + 0
        strPurchaseOrderNumber = Me.PurchaseOrderNumber + 0
        If LngQty > 0 And strPurchaseOrderNumber > 0 And CurrSalePrice > 0 And CurrUnitPrice > 0 Then
            cnt = Nz(DSum("[Quantity]", "[Order Details]", _
                          "[ProductID] =" & LngProductID & _
                          " AND [PurchaseOrderNumber]= '" & strPurchaseOrderNumber & "'"))
            If cnt = 0 Then Exit Sub
        Else
            Cancel = True
            If LngProductID = 0 Then Me.ProductID.SetFocus
            If LngQty = 0 Then Me.Quantity.SetFocus
            Exit Sub
        End If
        Cancel = True
        Me.Undo
        CurrSalePrice = Replace(CStr((cnt + LngQty) * CurrSalePrice), ",", ".")
        CurrUnitPrice = Replace(CStr((cnt + LngQty) * CurrUnitPrice), ",", ".")

        strSQL = "UPDATE [Order Details] SET [Order Details].Quantity =" & cnt + LngQty & _
                 ", [Order Details].Σύνολο_ΜΦ =" & CurrSalePrice & _
                 ", [Order Details].Σύνολο_ΧΦ =" & CurrUnitPrice & _
                 " WHERE [Order Details].ProductID = " & LngProductID & _
                 " AND [Order Details].PurchaseOrderNumber= '" & strPurchaseOrderNumber & "';"
                 
        CurrentDb.Execute strSQL
        Me.Parent.Refresh
    End If
End Sub
Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών

Τελευταία επεξεργασία από το χρήστη Tasos : 05-07-12 στις 19:40.
Απάντηση με παράθεση