Forum

Forum (https://www.ms-office.gr/forum/)
-   Access - Ερωτήσεις / Απαντήσεις (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/)
-   -   [ Φόρμες ] ΑΝΤΙΓΡΑΦΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΠΙΝΑΚΑ1 ΣΕ ΠΙΝΑΚΑ2 ΜΕ VBA (https://www.ms-office.gr/forum/access-erotiseis-apantiseis/6198-antigrafh-dedomenon-apo-pinaka1-se-pinaka2-me-visual-basic-applications.html)

artchrist73 24-10-22 19:18

ΑΝΤΙΓΡΑΦΗ ΔΕΔΟΜΕΝΩΝ ΑΠΟ ΠΙΝΑΚΑ1 ΣΕ ΠΙΝΑΚΑ2 ΜΕ VBA
 
1 Συνημμένο(α)
Καλησπέρα !!

Έχω ανεβάσει μια βάση δεδομένων προσπαθώντας να κάνω το εξής: μια αντιγραφή όλα τα δεδομένα από τον πινακα1 και επικόλληση στον πινακα2.

Μπορεί κάποιος να με βοηθήσει να κάνω αυτήν την διαδικασία αυτοματοποιημένη με πλήκτρο;

Ευχαριστώ πολύ !!!:coffee2:

nasos23 25-10-22 13:44

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

Private Sub Εντολή8_Click()
Dim sql As String
DoCmd.RunSQL "INSERT INTO Πίνακας2 ( onoma1, onoma2, onoma3 ) " & _
" SELECT Πίνακας1.onoma1, Πίνακας1.onoma2, Πίνακας1.onoma3 " & _
" FROM Πίνακας1;"
Me.Refresh
End Sub


artchrist73 25-10-22 21:02

Για αντιγραφή πίνακα1 και πίνακα2 αντιγραφή και επικόλληση στο πίνακα3 όμως?

Private Sub Εντολή8_Click()
Dim sql As String
DoCmd.RunSQL "INSERT INTO Πίνακας1 ( onoma1, onoma2, onoma3 ) " & _
DoCmd.RunSQL "INSERT INTO Πίνακας2 ( onoma1, onoma2, onoma3 ) " & _
" SELECT Πίνακας3.onoma1, Πίνακας3.onoma2, Πίνακας3.onoma3 " & _
" FROM Πίνακας3;"
Me.Refresh
End Sub

Σωστά;;;;;



:yahoo::004::thumbup:

ευχαριστώ!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! !!!!!!!!!!!!!!

nasos23 26-10-22 10:24

Καλημέρα Αντώνη

Για αντιγραφή πινάκων 1&2 στον πίνακα 3
Κώδικας:

Private Sub Εντολή8_Click()
 Dim sql As String
DoCmd.RunSQL "INSERT INTO Πίνακας3 ( onoma1, onoma2, onoma3 ) " & _
" SELECT Πίνακας1.onoma1, Πίνακας1.onoma2, Πίνακας1.onoma3 " & _
" FROM Πίνακας1;"
DoCmd.RunSQL "INSERT INTO Πίνακας3 ( onoma1, onoma2, onoma3 ) " & _
" SELECT Πίνακας2.onoma1, Πίνακας2.onoma2, Πίνακας2.onoma3 " & _
" FROM Πίνακας2;"

Me.Refresh
End Sub

Εναλλακτικά μπορούμε να δημιουργήσουμε ένα ερώτημα συνένωσης των δύο πινάκων.
Ας το ονομάσουμε "union all 1-2"
Κώδικας:

SELECT  Πίνακας1.onoma1, Πίνακας1.onoma2, Πίνακας1.onoma3
FROM Πίνακας1;
UNION ALL SELECT  Πίνακας2.onoma1, Πίνακας2.onoma2, Πίνακας2.onoma3
FROM Πίνακας2;

Επομένως στο κουμπί παίρνοντας δεδομένα απ' το ερώτημα έχουμε:
Κώδικας:

Private Sub Εντολή8_Click()
Dim sql As String
DoCmd.RunSQL "INSERT INTO Πίνακας3 ( onoma1, onoma2, onoma3 ) " & _
" SELECT [union all 1-2].onoma1, [union all 1-2].onoma2, [union all 1-2].onoma3 " & _
" FROM [union all 1-2];"
Me.Refresh
End Sub


artchrist73 27-10-22 21:30

ευχαριστώ!!

:drinks::a010:

artchrist73 27-10-22 21:46

1 Συνημμένο(α)
Βέβαια μπορώ να παρακάμψω την ανακοίνωση της microsoft του ναι ή όχι ;

nasos23 28-10-22 08:19

Καλημέρα Αντώνη
Κώδικας:

Private Sub Εντολή8_Click()
Dim sql As String
DoCmd.SetWarnings False 'Μπλοκάρει τις ειδοποιήσεις της access
DoCmd.RunSQL "INSERT INTO Πίνακας3 ( onoma1, onoma2, onoma3 ) " & _
" SELECT [union all 1-2].onoma1, [union all 1-2].onoma2, [union all 1-2].onoma3 " & _
" FROM [union all 1-2];"
  DoCmd.SetWarnings True 'Ενεργοποιεί τις ειδοποιήσεις της access
'Προεραιτικά το παρακάτω μήνυμα μας ενημερώνει για τον αριθμό των εγγραφών που προστέθηκαν.Αν δεν το θέλεις το διαγράφεις
  MsgBox "Έγινε επιτυχής προσθήκη " & DCount("*", "[union all 1-2]") & " εγγραφών στον πίνακα3." & vbCr & vbCr
 Me.Refresh
 
 End Sub


artchrist73 30-10-22 10:54

Ευχαριστώ πολύ!!!!:yahoo:


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

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


Search Engine Optimization by vBSEO 3.3.2