Αγαπητέ φίλε καλημέρα!
Η εισαγωγή δεδομένων σε υπάρχοντα πίνακα βάσης δεδομένων με
VBA είναι σχετικά απλή αλλά προυποθέτει
το επιθυμητό φύλλο εργασίας ή περιοχή του βιβλίου Excel, να έχει ακριβώς την ίδια
δομή δεδομένων (μορφή, πλήθος, και ονόματα στηλών ) που έχει και ο πίνακας προορισμού στην Access.
Αφού τηρούνται οι παραπάνω προϋποθέσεις χρησιμοποιούμε τον παρακάτω κώδικα:
Κώδικας:
Function IMportFromXLsheet()
' Για να γίνει ο κώδικας πιο κατανοτός έχω προσθέσει και _
τα ονόματα των ορισμάτων της εντολής "TransferSpreadsheet"
On Error GoTo ErrH
DoCmd.TransferSpreadsheet _
TransferType:=acImport, _
SpreadSheetType:=acSpreadsheetTypeExcel8, _
TableName:="tbldata", _
Filename:="C:\Data2Acc.xls", _
HasFieldNames:=True, _
Range:="Sheet2!A1:J10"
' ή DoCmd.TransferSpreadsheet 0, 8, "tbldata", "C:\Data2Acc.xls", -1, "Sheet2!A1:J10" _
(ειδικά αν πρόκειται να εκτελεστεί από κάποιο άλλο πρόγραμμα στα πλαίσια ενός αυτοματισμού).
IMportFromXLsheet_Exit:
Exit Function
ErrH:
MsgBox Err.Description
Resume IMportFromXLsheet_Exit
End Function
To
"tbldata" δηλώνει τον πίνακα προορισμού της Access.
To
"Sheet2!A1:J10" δηλώνει την περιοχή του βιβλίου εργασίας προς εισαγωγή.
Αντί για
Range:="Sheet2!A1:J10" μπορουμε ακόμα να χρησιμοποιήσουμε:
Range:="MyRange" δηλ. μια ονομασμένη περιοχή του βιβλίου εργασίας,
ΥΓ. Κάθε άλλο παρά κουραστικός είσαι φίλε μου!
Το φόρουμ οφείλει την ύπαρξη του σε σένα και στον καθέναν από μας!
Εξάλλου...η γνώση είναι για να μοιράζεται.
Φιλικά