Εμφάνιση ενός μόνο μηνύματος
  #3  
Παλιά 22-02-13, 13:10
kapetang Ο χρήστης kapetang δεν είναι συνδεδεμένος
Όνομα: Γιώργος
Έκδοση λογισμικού Office: Ms-Office 2010
Γλώσσα λογισμικού Office: Ελληνική, Αγγλική
 
Εγγραφή: 18-06-2010
Μηνύματα: 3.674
Προεπιλογή

Καλημέρα

Αλέξανδρε θα σου πρότεινα την παρακάτω λύση:

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 που δε θα ικανοποιεί αυτά τα κριτήρια δε θα εισαχθεί.

Φιλικά/Γιώργος

ΥΓ Το ΑΦΜ το θεωρώ μοναδικό για κάθε πελάτη. Αν αυτό δεν ισχύει δεν ισχύει και η λύση

Τελευταία επεξεργασία από το χρήστη kapetang : 22-02-13 στις 13:21. Αιτία: προσθήκη ΥΓ
Απάντηση με παράθεση