| Access - Ερωτήσεις / Απαντήσεις Access + VBA... Εδώ δεν υπάρχουν όρια! |
![]() |
| | Εργαλεία Θεμάτων | Τρόποι εμφάνισης |
|
#1
| |||
| |||
|
Γεια σας και καλο χειμωνα! Στο συνημμένο αρχείο προσπαθώ να αντιγραψω τα δεδομένα των πινάκων [ΕΝΤΟΛΗ ΕΡΓΑΣΙΩΝ ΠΕΛΑΤΗΣ] και [ΕΝΤΟΛΗ ΕΡΓΑΣΙΩΝ ΑΝΤΑΛ] στους πίνακες ΑΡΧΕΙΟΕΝΤΟΛΗΣΠΕΛ και ΑΡΧΕΙΟΕΝΤΟΛΗΣΑΝΤΑΛ μέσω της φόρμας [ΕΝΤΟΛΗ ΕΡΓΑΣΙΩΝ ΠΕΛΑΤΗΣ] με τη χρήση του κουμπιού ΑΝΤΙΓΡΑΦΗ αλλά κάτι δεν κάνω καλά και δεν μεταφέρονται οι εγγραφές του [ΕΝΤΟΛΗ ΕΡΓΑΣΙΩΝ ΑΝΤΑΛ] στον ΑΡΧΕΙΟΕΝΤΟΛΗΣΑΝΤΑΛ . Παρακαλώ την βοήθεια σας |
|
#2
| ||||
| ||||
|
Καλησπέρα! Απόστολε, δοκίμασε τον παρακάτω κώδικα (χωρίς ρουτίνα αποσφαλμάτωσης): Κώδικας: Option Compare Database
Option Explicit
Private Sub Εντολή14_Click()
Dim dbs As DAO.Database
Dim rs1 As DAO.Recordset
Dim rs2 As DAO.Recordset
Dim strSQL As String
Dim ID As Long
Set dbs = CurrentDb
strSQL = "INSERT INTO ΑΡΧΕΙΟΕΝΤΟΛΗΣΠΕΛ ( ΚΩΔΙΚΟΣΕΝΤΟΛΗΣ, ΚΩΔΙΚΟΣΠΕΛΑΤΗ, " & _
"ΕΠΩΝΥΜΟ, ΟΜΟΜΑ, ΑΦΜ, ΗΜΕΡΟΜΗΝΙΑ ) VALUES( " & _
Nz(Me.ΚΩΔΙΚΟΣΕΝΤΟΛΗΣ, 0) & ", " & _
Nz(Me.ΚΩΔΙΚΟΣΠΕΛΑΤΗ, 0) & ", '" & _
Nz(Me.ΕΠΩΝΥΜΟ, "") & "', '" & _
Nz(Me.ΟΜΟΜΑ, "") & "', '" & _
Nz(Me.ΑΦΜ, "") & "', #" & _
Format(Nz(Me.ΗΜΕΡΟΜΗΝΙΑ, 0), "m\/d\/yyyy") & "#)"
dbs.Execute strSQL, dbFailOnError
ID = DMax("ΑΑΑΕ", "ΑΡΧΕΙΟΕΝΤΟΛΗΣΠΕΛ")
strSQL = "SELECT * FROM [ΕΝΤΟΛΗ ΕΡΓΑΣΙΩΝ ΑΝΤΑΛ] WHERE ΚΩΔΙΚΟΣΕΝΤΟΛΗΣ=" & Me.ΚΩΔΙΚΟΣΕΝΤΟΛΗΣ
Set rs1 = dbs.OpenRecordset(strSQL, dbOpenSnapshot)
If rs1.RecordCount Then
Set rs2 = dbs.OpenRecordset("ΑΡΧΕΙΟΕΝΤΟΛΗΣΑΝΤΑΛ", dbOpenDynaset)
While Not rs1.EOF
rs2.AddNew
rs2![Κωδικός προιόντος] = rs1![Κωδικός προιόντος]
rs2![ΟΝΟΜΑΣΙΑ] = rs1![ΟΝΟΜΑΣΙΑ]
rs2![ΕΙΔΟΣ] = rs1![ΕΙΔΟΣ]
rs2![Μονάδα μέτρησης] = rs1![Μονάδα μέτρησης]
rs2![ΠΟΣΟΤΗΤΑ] = rs1![ΠΟΣΟΤΗΤΑ]
rs2![ΑΑΑΕ] = ID
' rs2![ΑΙΤΙΟΛΟΓΙΑ] = rs1![ΑΙΤΙΟΛΟΓΙΑ]
rs2.Update
rs1.MoveNext
Wend
rs2.Close
Set rs2 = Nothing
End If
rs1.Close
Set rs1 = Nothing
Set dbs = Nothing
End Sub
Τάσος
__________________ Ms-Office Development Team Ανάπτυξη επαγγελματικών εφαρμογών Τελευταία επεξεργασία από το χρήστη Tasos : 30-08-13 στις 14:48. Αιτία: Προσθήκη μεταβλητής (ID) |
|
#3
| |||
| |||
|
Πρέπει να προσθέσεις και στον πίνακα ΑΡΧΕΙΟΕΝΤΟΛΗΣΑΝΤΑΛ το πεδίο ΚΩΔΙΚΟΣΕΝΤΟΛΗΣ που συνδέει τους δύο πίνακες του αρχείου και να διαμορφώσεις ξανά τις σχέσεις μεταξύ των πινάκων. Επίσης θα πρέπει ορίσεις κλειδιά ώστε να μην επιτρέπεται να φορτωθούν διπλότυπες εγγραφές σε περίπτωση που πατήσεις ξανά το κουμπί αντιγραφή. Αυτά ως προς το συγκεκριμένο πρόβλημα, βέβαια θα πρέπει να αλλάξεις την σχεδίαση καθώς ένας πελάτης θα δώσει πολλές εντολές οπότε το πεδίο ΚΩΔΙΚΟΣΕΝΤΟΛΗΣ και λοιπές πληροφορίες σχετικά με την παραγγελία (ημερομηνία κλπ) θα πρέπει να πάνε σε ξεχωριστό πίνακα. |
|
#4
| |||
| |||
|
Σε ευχαριστω, δουλευει τελεια!!!
|
![]() |
« Προηγούμενο Θέμα
|
Επόμενο Θέμα »
| |
| ||||
| Θέμα | Δημιουργός | Forum | Απαντήσεις | Τελευταίο Μήνυμα |
| [ Πίνακες ] Μαζικη αντιγραφή εγγραφών στον ίδιο πίνακα | dimitrisp | Access - Ερωτήσεις / Απαντήσεις | 8 | 28-10-16 20:45 |
| Συσχετισμός εγγραφών πίνακα | q.mrk | Access - Ερωτήσεις / Απαντήσεις | 3 | 20-12-13 15:06 |
| Αντιγραφή πεδίου σε πίνακα... | Χρήστος | Access - Ερωτήσεις / Απαντήσεις | 8 | 06-02-11 19:46 |
| [ Πίνακες ] Πλήθος Εγγραφών σε πίνακα. | Free_Ghost | Access - Ερωτήσεις / Απαντήσεις | 2 | 08-02-10 10:21 |
| Χρωματισμος εγγραφων πινακα | Chris | Access - Ερωτήσεις / Απαντήσεις | 1 | 07-12-09 08:11 |
Η ώρα είναι 09:35.


Αλλαγή σε γραμμικό τρόπο

