Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] Συμπλήρωση πεδίου από άλλο πίνακα (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/3129-symplirosi-pedioy-apo-allo-pinaka.html)

ευη79 27-04-14 22:11

Συμπλήρωση πεδίου από άλλο πίνακα
 
καλησπέρα σας,

έχω δύο φόρμες:
α- αγορά ειδών
β- ανάλωση ειδών

μπορώ στην φόρμα β, όταν πληκτρολογώ το είδος να φέρνει αυτόματα και την τελευταία τιμή αγοράς που θα βρίσκει στην φόρμα α?

ευχαριστώ εκ των προτέρων,
Εύη

kapetang 28-04-14 16:31

1 Συνημμένο(α)
Καλησπέρα

Εύη, δες την επισυναπτόμενη ΒΔ.

Η λύση που προτείνω υλοποιείται με τον παρακάτω κώδικα:
Κώδικας:

Private Sub Τιμή_Enter()
    Dim strSQL As String, rs As DAO.Recordset
    On Error GoTo Err_Handel
   
    If Nz(Me.Τιμή, "") = "" Then
        If Nz(Me.Είδος, "") <> "" Then
            strSQL = "SELECT TOP 1 tblΑγορά.Τιμή FROM tblΑγορά WHERE [Είδος]='" _
                    & Me.[Είδος] & "' ORDER BY tblΑγορά.Ημερομηνία DESC;"
            Set rs = CurrentDb.OpenRecordset(strSQL)
            If rs.RecordCount > 0 Then
                Me.Τιμή = rs.Fields(0).Value
            Else
                MsgBox "Δεν υπάρχει τιμή για το είδος: " & Me.Είδος
            End If
        End If
    End If
Exit_Sub:
    If Not rs Is Nothing Then Set rs = Nothing
    Exit Sub
Err_Handel:
    MsgBox "Error # " & Err.Number & vbCrLf & Err.Description
    Resume Exit_Sub
End Sub

Για την κατανόηση της λογικής του, διευκρινίζω ότι:

1) Η τελευταία τιμή για κάθε είδος λαμβάνεται από τον πίνακα tblΑγορά.

2) Για την εύρεση της τελευταίας τιμής ενός είδους βρίσκουμε όλες τις τιμές του είδους, τις ταξινομούμε κατά φθίνουσα σειρά ως προς την ημερομηνία και επιλέγουμε την πρώτη.

Γιώργος


Η ώρα είναι 07:47.

Ms-Office.gr - ©2000 - 2026, Jelsoft Enterprises Ltd.


Search Engine Optimization by vBSEO 3.3.2