Καλημέρα
Αλέξανδρε θα σου πρότεινα την παρακάτω λύση:
1) Στη φόρμα να προσθέσεις ένα κουμπί πχ cmdInsertClients και στο συμβάν κλικ να προσθέσεις τον παρακάτω κώδικα:
Κώδικας:
Private Sub cmdInsertClients_Click()
Dim strINTO As String, strWHERE As String, strSQL As String, strIn As String
On Error GoTo ErrHandler
strIn = InToList
If strIn = "()" Then
MsgBox "Δεν έγινε επιλογή στοιχείων"
Exit Sub
End If
strINTO = "INSERT INTO cliend ( Etos_asfalisis, Categories, code, arsimb, arth, " _
& "[date], name, lastname, epagelma, afm, doy, odos1, arithmos1, orofos1, " _
& "poli1, tk1, til1, odos2, arithmos2, orofos2, poli2, tk2, til2, coment, " _
& "HmerGenesis, email, Hm_ekdosis_Diplomatos, Sinidioktitis ) "
strSQL = "SELECT Melontiki_Pelates.Etos_asfalisis, Melontiki_Pelates.Categories, " _
& "Melontiki_Pelates.code, Melontiki_Pelates.arsimb, Melontiki_Pelates.arth, " _
& "Melontiki_Pelates.date, Melontiki_Pelates.name, Melontiki_Pelates.lastname, " _
& "Melontiki_Pelates.epagelma, Melontiki_Pelates.afm, Melontiki_Pelates.doy, " _
& "Melontiki_Pelates.odos1, Melontiki_Pelates.arithmos1, Melontiki_Pelates.orofos1, " _
& "Melontiki_Pelates.poli1, Melontiki_Pelates.tk1, Melontiki_Pelates.til1, " _
& "Melontiki_Pelates.odos2, Melontiki_Pelates.arithmos2, Melontiki_Pelates.orofos2, " _
& "Melontiki_Pelates.poli2, Melontiki_Pelates.tk2, Melontiki_Pelates.til2, " _
& "Melontiki_Pelates.coment, Melontiki_Pelates.HmerGenesis, Melontiki_Pelates.email, " _
& "Melontiki_Pelates.Hm_ekdosis_Diplomatos, Melontiki_Pelates.Sinidioktitis " _
& "FROM Melontiki_Pelates LEFT JOIN cliend ON Melontiki_Pelates.afm = cliend.afm "
strWHERE = "WHERE cliend.afm Is Null AND Melontiki_Pelates.afm in " & InToList
strSQL = strINTO & strSQL & strWHERE
CurrentDb.Execute strSQL
MsgBox "Η εισαγωγή ολοκληρώθηκε"
Exit Sub
ErrHandler:
MsgBox "Error#: " & Err.Number & vbCrLf _
& Err.Description
End Sub
2) Στη φόρμα επίσης θα προσθέσεις και την παρακάτω συνάρτηση:
Κώδικας:
Public Function InToList() As String
Dim x As Variant, str As String
With Me.Lista0
For Each x In .ItemsSelected
str = str & ", '" & .Column(10, x) & "'"
Next x
str = "(" & Mid(str, 3) & ")"
End With
InToList = str
End Function
Με τον παραπάνω κώδικα εισάγονται στον πίνακα cliend οι εγγραφές από τον πίνακα Melontiki_Pelates, που το afm τους δεν υπάρχει στον πίνακα cliend, αλλά υπάρχει στις επιλογές της λίστας.
Προσοχή, αν σε κάποια πεδία του πίνακα cliend υπάρχουν περιορισμοί (πχ δεν επιτρέπονται null) η εγγραφή του πίνακα Melontiki_Pelates που δε θα ικανοποιεί αυτά τα κριτήρια δε θα εισαχθεί.
Φιλικά/Γιώργος
ΥΓ Το ΑΦΜ το θεωρώ μοναδικό για κάθε πελάτη. Αν αυτό δεν ισχύει δεν ισχύει και η λύση