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

Γιώργο καλησπέρα!
'Εστω ότι έχεις ήδη δημιουργήσει ένα ερώτημα, ας πούμε "MyQuery" που περιέχει τις 5
εγγραφές που περίγραψες.

Για να τις συνενώσεις μπορείς να χρησιμοποιήσεις την παρακάτω συνάρτηση:

Κώδικας:
Function AccConcatenate(AccTable, accField$) As String
Dim Fld As Obgect
    With CurrentDb.OpenRecordset(AccTable)
        If .RecordCount Then .MoveFirst Else .Close: Exit Function
        Set Fld = .Fields(accField)
            While Not .EOF
                If Not IsNull(Fld) Then AccConcatenate = AccConcatenate & Fld & ", "
                .MoveNext
            Wend
        AccConcatenate = Left(AccConcatenate, Len(AccConcatenate) - 2)
        .Close
    End With
End Function
Η τιμή που θα επιστρέψει η συνάρτηση αυτή θα περιέχει τις εγγραφές του ερωτήματος
χωρισμένες με κόμματα.

Μπορείς να καλέσεις τη συνάρτηση αυτή

από τη VBA:
Κώδικας:
Sub test()
    Debug.Print AccConcatenate("MyQuery", "texts_after_sql")
End Sub
  • από πεδίο φόρμας: =AccConcatenate("MyQuery"; "texts_after_sql")
  • ή από πεδίο ερωτήματος: =MyConcatenation: AccConcatenate("MyQuery";"texts_after_sql")
Φιλικά

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

Τελευταία επεξεργασία από το χρήστη Tasos : 20-04-10 στις 19:13.
Απάντηση με παράθεση