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/1586-anoigma-mias-allis-yparxoysas-basis-kai-metafora-kapoion-dedomenon-apo-tin-yparxoysa.html)

migimis 23-01-12 09:53

Άνοιγμα μιας άλλης υπάρχουσας βάσης και μεταφορά κάποιων δεδομένων από την υπάρχουσα
 
Καλημέρα σε όλους .
Είμαι νέος στο φόρουμ και μου άρεσε πολύ ότι υπάρχει υποστήριξη σε πολλά θέματα . Αν και είμαι αρκετά προχωρημένος στην Access και στην Visual Basic θα με βοηθούσε πολύ εάν ανακάλυπτα το φόρουμ νωρίτερα .
Με απασχολεί εδώ και αρκετό καιρό μια διαδικασία , συγκεκριμένα θέλω να μεταφέρω κάποια δεδομένα από την υπάρχουσα βάση από κάποιο πίνακα σε μια άλλη η οποία υπάρχει και δεν μπορώ να βρω λύση στο πως μπορώ να ανοίξω την άλλη βάση και να αποκτήσω πρόσβαση σε κάποιον πίνακα της .
Το παράδειγμα παλαιοτέρα : ‘’Αντιγραφή πινάκων από τρέχουσα βάση σε νέα βάση’’ είναι καλό αλλά μόνο δημιουργεί μια νέα βάση . Όταν το μετατρέπω σε άνοιγμα βάσης μου βγάζει όλο error .
Θα ήμουν πολύ ευγνώμων εάν κάποιους μπορεί να με σπρώξει το πώς θα κάνω τη σύνδεση . Η σύνδεση που κάνω στην υπάρχουσα βάση και λειτουργεί άψογα είναι η ακόλουθη :
Public db As ADODB.Connection, rs As ADODB.Recordset
Set db = CurrentProject.Connection
Set rs = New ADODB.Recordset
table = "SELECT * FROM tblPelates”
rs .Open table, db, adOpenForwardOnly, adLockReadOnly
Ξέχασα να συμπληρώσω ότι δεν θέλω να υπάρχουν συνδέσεις προς τους πίνακες της Βάσης Ν2 στην Βάση Ν1 .
Ευχαριστώ εκ’ των προτέρων

Tasos 23-01-12 17:06

Καλησπέρα Δημήτρη!

Πες μας αν θέλεις να μεταφέρεις ολόκληρους πίνακες ή να προσθέσεις δεδομένα σε πίνακα στην απομακρυσμένη βάση και αν ισχύει το δεύτερο ποια δεδομένα (με ποια κριτήρια) πρέπει να μεταφερθούν;

Περιμένουμε νέα σου

Φιλικά

Τάσος

Meteora 23-01-12 17:45

Καλησπέρα

Στο παρελθόν είχα δουλέψει με την γραμμή :

Κώδικας:

Docmd.TransferDatabase, aclink,"Microsoft Access","c:\fakelos\basi.mdb",
actable,"onomapinakaA","onomapinakaB"

Η τρέχουσα βάση μας, εντοπίζει τον πίνακα onomapinakaA μιας άλλης βάσης που ύπάρχει στον φάκελο c:\fakelos με το όνομα basi.mdb και 'βλέπει' τον προαναφερόμενο πίνακα με το όνομα onomapinakaB.
Μπορούμε να δουλέψουμε με τον πίνακα σαν να ήταν μέρος της τρέχουσας ανοιχτής βάσης!

Βέβαια, η λύση που προτείνω, δεν έχει να κάνει με τον φίλο μας, μιας και δεν ενδιαφέρεται για Link και είναι βέβαιο ότι ο Τάσος ή κάποιος άλλος φίλος θα δώσει την πρέπουσα λύση στον Δημήτρη.
Περιμένω να τους διαβάσω...

Με εκτίμηση
Νίκος Δ.

migimis 24-01-12 07:07

Διευκρινήσεις για την ερώτηση
 
Καλημέρα σε όλους .
Καταρχήν ευχαριστώ για το άμεσο ενδιαφέρων σας .
Τάσο , για να μη σε κουράζω θα γράψω εν΄συντομία αυτό που θέλω .
Υπάρχει η Βάση Ν1 στο στικάκι και τη μεταφέρω μαζί μου , στην οποία υπάρχουν όλες οι εγγραφές πελατών με τα στοιχεία τους , και υπάρχει η Βάση Ν2 στον σταθερό υπολογιστή στο γραφείο ακριβώς ίδια με την πρώτη , στην οποία εγώ θέλω να μεταφέρω κάπου-καπου μόνο επιλεκτικά μερικούς πελάτες και τις εγγραφές τους . Οι δομές τους και οι ονομασίες πινάκων είναι ίδιες .
Ανοίγοντας τα στοιχεία κάποιου πελάτη στην Ν1 , πατώντας το κουμπί αυτά να περνάνε στην Ν2 εκτός εάν αυτά υπάρχουν ήδη. Εάν ήταν συνδεδεμένοι οι πίνακες αυτό θα ήταν εύκολο , αλλά αυτό δεν θα το ήθελα διότι οι πίνακες είναι πολλοί .

Με εκτίμηση
Δημήτρης

migimis 24-01-12 09:45

Δοκιμές
 
Χαιρετώ ξανά .

Τώρα δοκίμασα την λύση που πρότεινε ο φίλος Νίκος .
Όλα δούλεψαν άψογα , δηλαδή δημιουργώ προσωρινά σύνδεση με κάθε ένα πίνακα , κάνω τη μεταφορά μου και μετά με την εντολή :
DoCmd.DeleteObject acTable, "onomapinakaBl"
σβήνω τις συνδέσεις .

Όλα αυτά υπάρχουν βέβαια στο HELP αλλά είναι πολλές φορές δύσκολο να βρει κάποιος τη λύση διότι πρέπει να ψάξει τόνους διδομένων για να τη ξετρυπώσει . Για αυτό η βοήθεια από τους φίλους προγραμματιστές είναι πολύτιμη .

Ευχαριστώ πολύ τον φίλο Νίκο .


Η ώρα είναι 19:04.

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


Search Engine Optimization by vBSEO 3.3.2