Ανανέωση ιστοσελίδας

Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια!

Απάντηση στο θέμα

 

Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 21-02-13, 18:31
Όνομα: Αλεξια
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2013
Μηνύματα: 22
Προεπιλογή Μεταφορά απο Excel σε Access

Καλησπέρα

Θέλω να κάνω μεταφορά δεδομένων απο exel σε access

Εχω ενα φύλο exel με τα στοιχεια α) Επωνυμία β) τηλεφωνο γ) Επαγγελμα
Και ενα πινακα στην access με τα αντιστοιχα πεδια α) Επωνυμία β) τηλεφωνο γ) Επαγγελμα
Υπάρχει κάποιος κώδικας στην access που να διαβάζει όλο το φύλλο του exel και να τα μεταφέρει στον πινακα της access που εχω φτιάξει

π.χ. ενα φύλο exel εχει 100 εγγραφες με τα παραπανω πεδια, αυτες τις εγγραφες να τις μεταφέρω όλες στον πινακα της access αλλα στα αντιστοιχα πεδία.
ο πινακας ειναι SQL
Πιστεύω να έγινα όσο γίνεται σαφής

Ευχαριστώ πολύ
Αλεξία

Τελευταία επεξεργασία από το χρήστη ΑΛΕΞΙΑ : 21-02-13 στις 21:04.
Απάντηση με παράθεση
  #2  
Παλιά 22-02-13, 16:24
Όνομα: Αλεξια
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2013
Μηνύματα: 22
Προεπιλογή

Καλησπέρα για όλους

Ψάχνοντας στο forum βρήκα αυτό το κώδικα
Αλλα όταν ο κώδικας φτάνει εδώ CurrentProject.Connection.Execute strSQL, lngRecs
βγαζει σφάλμα "Invalid object name Excel 8.0;HDR=YES;Database=C:\test.xls.DataSheet$ "

μηπως ξέρει κανεις γιατί;

Private Declare Function GetTickCount Lib "kernel32" () As Long

Sub Test()
Dim strSQL As String
Dim lngStart As Long
Dim lngRecs As Long

' On Error GoTo ErrHandler
DoCmd.SetWarnings False
strSQL = "Insert Into dbo.Table1 (ag, ab) " _
& "Select AM, NAME From [Excel 8.0;HDR=YES;Database=C:\test.xls].[DataSheet$];"

lngStart = GetTickCount


CurrentProject.Connection.Execute strSQL, lngRecs

MsgBox lngRecs & " records added in Table1 in " _
& (GetTickCount - lngStart) & " milliseconds!", vbInformation
'ExitProc:
' DoCmd.SetWarnings True
' Exit Sub
'ErrHandler:
' MsgBox Err.Description, vbExclamation
' Resume ExitProc
End Sub
Απάντηση με παράθεση
  #3  
Παλιά 22-02-13, 21:16
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλησπέρα

Δες το επισυναπτόμενο αρχείο... Είναι ο πυρήνας του κώδικα, ο οποίος απαιτείται για να κάνει στοιχειωδώς ό,τι ζητάς με την ανάρτησή σου.

Καλή συνέχεια...

Με εκτίμηση
Νίκος Δ.
Συνημμένα Αρχεία
Τύπος Αρχείου: zip transferDataFromExcel.zip (14,6 KB, 80 εμφανίσεις)
Απάντηση με παράθεση
  #4  
Παλιά 23-02-13, 12:02
Όνομα: Αλεξια
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2013
Μηνύματα: 22
Προεπιλογή

καλημέρα Νίκο
Ο κώδικας που μου έστειλες δουλεύει μια χαρά σε ευχαριστώ πολύ
Απλά εάν ξέρεις και με βοηθήσεις με τον κώδικα που ανέβασα γιατι εκει μπορώ και ορίζω όποια πεδία θέλω απο τον πινακα και αντιστοιχα απο το exel, ενω στον κωδικα που μου έστειλες πρέπει να διαγραφω πεδία απο το exel.
Πρέπει να καταχωρίσω απο διαφορα exel 400.000 εγγραφες και είναι απο 700 exel, οπότε θα μου κάνει την ζωη πολύ δύσκολη
Εαν δεν μπορέσω να βρω την λύση στον άλλο κωδικα που ανέβασα θα το κάνω με αυτόν.
Επίσης το κακό είναι ότι εγω έχω τους πίνακες σε SQL και εδώ απο ότι είδα στο forum μονο για πίνακες σε access


Dim Adod_arx As ADODB.Recordset
Set Adod_arx = New Recordset

Dim diadromi$

Adod_arx.Open "SELECT * FROM TblData", CurrentProject.Connection, adOpenKeyset, adLockOptimistic

diadromi = "C:\programa\test.xlsx"
If Dir(diadromi) > "" Then

DoCmd.TransferSpreadsheet _
TransferType:=acImport, _
SpreadSheetType:=acSpreadsheetTypeExcel8, _
TableName:="TblData", _
filename:=diadromi, _
HasFieldNames:=True
End If




Πάντως σε ευχαριστώ και πάλι

Αλεξια
Απάντηση με παράθεση
  #5  
Παλιά 23-02-13, 12:20
Το avatar του χρήστη Tasos
Διαχειριστής
Όνομα: Τάσος Φιλοξενιδης
Έκδοση λογισμικού Office: Ms-Office 365
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική, Γερμανική
 
Εγγραφή: 21-10-2009
Μηνύματα: 2.011
Προεπιλογή

Καλησπέρα!
Αλέξια, ανέβασε μας ένα αρχείο Excel καθώς και ένα αρχείο Access για να δούμε τη δομή τους και να σε βοηθήσουμε.

Για να δούμε αν μπορεί να γίνει η διαδικασία αυτή αυτόματα πες μας:
  • Σε ποιον πίνακα της Access θα εισαχθούν τα δεδομένα του φύλλου;
  • Αν υπάρχουν περισσότερα φύλλα ποιο φύλλο πρέπει να εισαχθεί;
  • Έχουν τα φύλλα προς εισαγωγή τα ίδια ονόματα σε κάθε αρχείο Excel;
  • Τα αρχεία Excel είναι *xls ή *.xlsx;
  • Τι έκδοση Office χρησιμοποιείται;

Φιλικά

Τάσος
__________________
Ms-Office Development Team
Ανάπτυξη επαγγελματικών εφαρμογών
Απάντηση με παράθεση
  #6  
Παλιά 23-02-13, 12:52
Όνομα: Αλεξια
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2013
Μηνύματα: 22
Προεπιλογή

καλημέρα Τασο
Τα αρχεια exel ειναι xlsx και έχουν όλα τα ίδια πεδια.
προσπάθεισα να ανεβάσω και τον πινακα αλλα μου βγαζεί σφάλμα.
Ειναι αρχεια απο επιμελητήρια και τα κατεβάζω απο το internet σε μορφή xml μετα τα μετατρέπω σε exel και στην συνέχεια τα αποθηκεύω σε ένα πινακα που προυπήρχε στην βάση
Έχω κατεβάσει ήδη πέριπου στα 700 τετοια αρχεια και τα μετετρεψα σε exel
Ο SQL ειναι 2005 και η βάση "εργο" 2007
Επισης για τα επομενα αρχεια exel που θα κατεβάσω επειδη θα διαγράψω αυτα τα 700 exel όταν τα αποθηκεύσω και το exel θα πέρνει το ίδιο όνομα όταν το μετατρέπω, δεν ξέρω εάν εγινα σαφής.
Οπότε στον κώδικα δεν θα αλλάζω σχεδόν τίποτα.
Ούτε όνομα στο exel ουτε ονόματα στα πεδία αλλα ούτε και στον πινακα.
εάν μπορέσω να κάνω την καταχώρηση με insert into θα βάλω και 1 κλειδι στο ΑΜ στο πεδίο του πινακα οπότε δεν θα έχω διπλοεγγραφες στην καταχώρηση
Προσπάθησα να γίνω όσο ποιό σαφής γίνετε

Φιλικά αλεξία
Συνημμένα Αρχεία
Τύπος Αρχείου: xlsx Αντίγραφο από test.xlsx (16,0 KB, 35 εμφανίσεις)
Απάντηση με παράθεση
  #7  
Παλιά 23-02-13, 12:59
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Καλημέρα

Τι πρόβλημα θα έχεις αν ο πίνακας που θα δέχεται τα δεδομένα σου έχει πεδία "επιπλέον", έτσι ώστε να ισοσταθμιστεί ο πληθυσμός πεδίων Access και excel;

Βεβαίως και υπάρχουν πιο ευέλικτες λύσεις, αλλά λέμε τωρα...

Νίκος Δ.
Απάντηση με παράθεση
  #8  
Παλιά 23-02-13, 13:28
Όνομα: Αλεξια
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2013
Μηνύματα: 22
Προεπιλογή

καλημέρα και πάλι Νικο
Ο πινακας ήδη πολλά πεδία εάν θυμάμε καλά περίπου στα 35, εαν καταφερω να τον ανεβάσω θα το δείς, και το exel έχει πεδία τα οποια δεν χρειάζομε καθόλου.
Οπότε έτσι θα φορτώσω τον πινακα και χωρίς κάποιο σημαντικό λόγο.

Φιλικά αλεξία
Απάντηση με παράθεση
  #9  
Παλιά 23-02-13, 16:31
Το avatar του χρήστη Meteora
Συντονιστής
Όνομα: Νίκος
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 28-12-2008
Περιοχή: Θεσσαλονίκη
Μηνύματα: 1.033
Προεπιλογή

Αλεξια επιμένεις και επομένως ανεβάζω μια δεύτερη λύση εισαγωγής δεδομένων. Να δώσεις ιδιαίτερη σημασία, οτι στον κώδικα ονομάζω το φύλλο του Excel από το οποίο εισάγω πλέον στήλες! Ο κώδικας έχει μια πολυπλοκότητα σε σχέση με την προηγούμενη ανάρτηση.
Δοκίμασε και πες μας τα συμπεράσματα σου...

Τα ξαναλέμε λοιπόν!

Καλό απόγευμα

Νίκος Δ.

Υστερολόγιο: Καλώς ήλθες στην παρέα μας. Εύχομαι ωφέλεια...
Συνημμένα Αρχεία
Τύπος Αρχείου: zip transferDataFromExcel.zip (16,5 KB, 82 εμφανίσεις)
Απάντηση με παράθεση
  #10  
Παλιά 25-02-13, 10:31
Όνομα: Αλεξια
Έκδοση λογισμικού Office: Ms-Office 2007
Γλώσσα λογισμικού Office: Ελληνική
 
Εγγραφή: 04-02-2013
Μηνύματα: 22
Προεπιλογή

Καλημέρα Νικο και καλή εβδομάδα.
Στον 2ο κώδικα που μου έστειλες μου χτυπάει εδώ
Set rs = .OpenRecordset("DataSh$") ' Δεν είναι δυνατή η εύρεση του αντικειμένου 'DataSh$'

Μου βγάζει αυτό το πρόβλημα, κάνω κάτι λάθος? μήπως λέιπει καμία referens?

Αλεξία
Απάντηση με παράθεση
Απάντηση στο θέμα


Δικαιώματα - Επιλογές
Δε μπορείτε να δημοσιεύσετε νέα μηνύματα
Δε μπορείτε να δημοσιεύσετε απαντήσεις
Δεν μπορείτε να επισυνάψετε αρχεία
Δεν μπορείτε να επεξεργαστείτε τα μηνύματα σας

Ο κώδικας ΒΒ είναι σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι εκτός λειτουργίας
Trackbacks are εκτός λειτουργίας
Pingbacks are εκτός λειτουργίας
Refbacks are εκτός λειτουργίας


Παρόμοια Θέματα

Θέμα Δημιουργός Forum Απαντήσεις Τελευταίο Μήνυμα
[VBA] Μεταφορά δεδομένων από Excel σε Access Tasos Excel samples - Χρήσιμα αρχεία & παραδείγματα 0 11-04-12 08:38
Μεταφορά εγγραφών από access σε access stratos75 Access - Ερωτήσεις / Απαντήσεις 2 29-06-11 11:59


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