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/558-sygxoneysi-pollon-eggrafon-se-mia-eggrafi.html)

Γιωργος μπομπ 20-04-10 13:36

Συγχώνευση πολλών εγγραφών σε μια εγγραφή
 
καλησπερα σε ολους!
θα ηθελα μια μικρη βοηθεια ! θα παραθεσω την απορια μου με παραδειγμα για να γινει πιο κατανοητη!
εχω εναν πινακα με texts (περιπου 200) χρησιμοποιω ενα sql-query ενα απλο (select.. from..where) και απο αυτα τα 200 καταληγω πχ σε 5 κειμενα που ειναι διαφορετικα records.
ειναι στην μορφη αυτη
πχ. texts_after_sql
δυναμη ...
θαρρος ...
οργανωτικοτητα ...
καλοσυνη...

εγω θελω με καποιο τροπο αυτα να βαλω σε ενα νεο record ολα μαζι να χωριζονται απο κομμα δηλαδη ετσι :

texts_after_sql
δυναμη...,θαρρος...,οργανωτικ οτητα...,καλοσυνη..., κτλ

οποιος εχει καποια ιδεα που μπορει να βοηθησει το εκτιμω πολυ!
ευχαριστω γιωργος!

Tasos 20-04-10 15:21

Γιώργο καλησπέρα!
'Εστω ότι έχεις ήδη δημιουργήσει ένα ερώτημα, ας πούμε "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")
Φιλικά

Τάσος

mdragon 20-04-10 16:12

Αν κατάλαβα καλά ......
Πρόσθεσε αυτό σε ένα νέο πεδίο στο ερώτημα σου

=[Πεδίο1] & " , " & [Πεδίο2] & " , " & [Πεδίο3] & " , " & [Πεδίο4]


Μάρω

Γιωργος μπομπ 20-04-10 18:21

φιλε τασο σε ευχαριστω πολυ ! πιστευω οτι θα δουλεψει ! θα το εφαρμοσω το βραδακι με την ησυχια μου και θα σας πω τα αποτελεσματα
φιλη μαρω σε ευχαριστω και εσενα πολυ για το ενδιαφερον αλλα αυτο που θελω να κανω ειναι συγχωνευση πολλων εγγραφων σε μια εγγραφη απο το ιδιο πεδιο .. αυτο που εχεις παραθεσει ,αν δεν κανω λαθος, ειναι "συγχωνευση" πολλων πεδιων σε ενα πεδιο απο την ιδια εγγραφη (αν κανω λαθος διορθωστε με...) ;)

synti 31-03-11 21:55

Παράθεση:

Αρχική Δημοσίευση από mdragon (Μήνυμα 2500)
Αν κατάλαβα καλά ......
Πρόσθεσε αυτό σε ένα νέο πεδίο στο ερώτημα σου

=[Πεδίο1] & " , " & [Πεδίο2] & " , " & [Πεδίο3] & " , " & [Πεδίο4]


Μάρω

Για αριθμητικες πως τα συνδεουμε?

=[Πεδίο1] & " , " & [Πεδίο2] & " , " & [Πεδίο3] & " , " & [Πεδίο4]

= 21,00€ 36,00€ κ.λ.π


Η ώρα είναι 11:38.

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


Search Engine Optimization by vBSEO 3.3.2