Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   Συγχώνευση Αλληλογραφίας από Access σε Word (Office 2007) (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/1947-sygxoneysi-allilografias-apo-access-se-word-office-2007-a.html)

kostaskalam 02-07-12 13:40

Συγχώνευση Αλληλογραφίας από Access σε Word (Office 2007)
 
Καλησπέρα!!
Έχω μία βάση και θέλω να συγχωνεύσω κάποιους πίνακες στο Word.
Το πρόβλημα είναι ότι ενώ για συγχώνευση ενός μόνο πίνακα έχω δημιουργήσει τη συγχώνευση, χρειάζεται να συγχωνεύσω και άλλον πίνακα (εξαρτημένος από τον αρχικό εν είδη δευτερεύουσας φόρμας). Αυτό γίνεται διότι είχα πολλά πεδία στον αρχικό πίνακα και σε μία δοκιμαστική καταχώρηση προσπάθησα να συμπληρώσω όλα τα πεδία αλλά δεν τα κατάφερα διότι μου έβγαλε η Access μήνυμα ότι η εγγραφή είναι πολύ μεγάλη.
Ξέρει κάποιος πως μπορώ να συγχωνεύσω δύο ή περισσότερους πίνακες Access σε ένα αρχείο Word;
Σημείωση: όλα τα πεδία που έχω στους πίνακες είναι υποχρεωτικά για τη δουλειά που το θέλω και δεν μπορώ να "μικρύνω" τον πίνακα....
Ευχαριστώ!!!

Tasos 03-07-12 07:57

Αγαπητέ Κώστα,
ο διακομιστής OLEDB που είναι υπεύθυνος για τη εισαγωγή δεδομένων Access - Excel στο Word, επιτρέπει 255 πεδία και μόνο μια σύνδεση με βάση δεδομένων.

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

Αν έχουμε παραπάνω από 255 πεδία τότε δημιουργούμε στην Access έκθεση αντί για συγχώνευση αλληλογραφίας στο Word.

Φιλικά

Τάσος

kostaskalam 03-07-12 10:40

1 Συνημμένο(α)
Τάσο,
Καταρχάς ευχαριστώ για την απάντησή σου,
Το πρόβλημα είναι ότι ενώ τα πεδία μου είναι γύρω στα 200, αν πάω να τα συμπληρώσω όλα (έκανα μία δοκιμαστική εγγραφή στην οποία προσπάθησα να συμπληρώσω όλα τα πεδία) μου βγάζει σφάλμα ότι η εγγραφή είναι πολύ μεγάλη και για αυτό θέλω να "σπάσω" τον πίνακα σε μικρότερους. Επισυνάπτω το τύπο σφάλματος που μου βγάζει.
Ευχαριστώ!!!

Tasos 03-07-12 11:45

Καλημέρα Κώστα!

Όπως φαίνεται στην εικόνα του μηνύματος σου, το πρόβλημα περιορίζεται στην Acces.

Σε πίνακες με μορφή < 2007 υπάρχει ο περιορισμός των 2000 χαρακτήρων ανά εγγραφή. Εξαιρούνται τα πεδία που έχουν τύπο δεδομένων "Υπόμνημα" ή "Αντικείμενο OLE".

Ο περιορισμός αυτός είναι διαφορετικός σε πίνακες με μορφή > 2003 (4000 χαρακτήρες).

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

Θεωρητικά, αυτό που μπορείς να κάνεις είναι να αλλάξεις τον τύπο τον πεδίων του πίνακα από "κείμενο" σε "Υπόμνημα" (Memo) ώστε να παρακάμψεις τον περιορισμό αυτό.

Μπορείς να δημιουργήσεις έναν πίνακα με τα νέα αυτά χαρακτηριστικά χρησιμοποιώντας τον παρακάτω κώδικα σε μια κοινή λειτουργική μονάδα:

Κώδικας:

Option Compare Database
Option Explicit

Sub CreateNewTableWithMemoFields()

    Dim dbs As Database, OldTable As TableDef, NewTable As TableDef
    Dim NewField As Field, OldField As Field
    Dim OldTableName As String, NewTableName As String
   
    OldTableName = "Sales" 'Το όνομα του πίνακα. Προσάρμοσε το.
    NewTableName = "Test" 'Το όνομα του νέου πίνακα. Προσάρμοσε το.
   
    Set dbs = CurrentDb
    Set OldTable = dbs.TableDefs(OldTableName)
    Set NewTable = dbs.CreateTableDef(NewTableName)
   
    With NewTable
        For Each OldField In OldTable.Fields
            Set NewField = .CreateField(OldField.Name, _
                                        IIf(OldField.Type = dbText, dbMemo, OldField.Type))
            .Fields.Append NewField
        Next
    End With
    dbs.TableDefs.Append NewTable
    dbs.TableDefs.Refresh
    dbs.Execute "INSERT INTO " & NewTableName & " SELECT " & OldTableName & ".* FROM " & OldTableName
    RefreshDatabaseWindow
End Sub

Δοκίμασε και πες μας.

Φιλικά

Τάσος

kostaskalam 03-07-12 21:00

Ευχαριστώ πολύ και πάλι!!! Τελικά Άλλαξα τα πεδία που μπορούσα σε υπομνήματα και το πρόβλημα λύθηκε προς το παρόν.
Ευχαριστώ, Καληνύχτα!


Η ώρα είναι 14:15.

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


Search Engine Optimization by vBSEO 3.3.2