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

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

Όπως φαίνεται στην εικόνα του μηνύματος σου, το πρόβλημα περιορίζεται στην 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
Δοκίμασε και πες μας.

Φιλικά

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

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