VBA-Access-Problem
Geizhals » Forum » Programmierung » VBA-Access-Problem (4 Beiträge, 72 Mal gelesen) Top-100 | Fresh-100
Du bist nicht angemeldet. [ Login/Registrieren ]
VBA-Access-Problem
15.03.2006, 10:13:14
Hi! Irgendwie komme ich nicht weiter, vielleicht kann mir jemand helfen...

Folgender Situation: Ein Form wird geöffnet und einige Comboboxen befüllt. Der erste Combobox wird mit eine Liste von Sprachen gefüllt: mit welche Sprache soll man den Contact anreden?. Der Code schaut so aus:

    cmbPersonLangContact.RowSource = ""
    Set RS = CurrentDb.OpenRecordset("SELECT ID, LanguageAbbr & ' - ' & LanguageFull AS Language FROM tblLanguages ORDER BY SortOrder;", dbOpenSnapshot)
    Do Until RS.EOF
        cmbPersonLangContact.AddItem RS!ID & ";" & RS!Language
        RS.MoveNext
    Loop


Hiermit wird der Combobox mit zwei Spalten (Trennzeichen ist ';') gefüllt: 1. Spalte ist der ID der Sprache, der zweite Spalte der ISO-Code und Sprache selbst z.B. "nl - Nederlands". SortOrder ist der offizielle Reihenfolge wie in der EU verwendet werden sollte.

Soweit, so gut. Liste wird brav gefüllt, und ich kann eine Sprache auswählen.

Aber: Wenn ich im oberen Teil der Form ein Contact auswähle wo ich Daten ändern will, müssen die bestehende Daten natürlich zuerst mal angezeigt werden. Das bedeutet das ich der derzeit eingetragene Sprache schon mal auswählen soll, oder (bei ein Combobox) oben im Textfeld eintragen. Folgende Code verwende ich dort (Ausschnitt):

    SQL = "SELECT ..... L_C.LanguageAbbr & ' - ' & L_C.LanguageFull AS LangContact, L_C.ID AS LangContactID, ..... WHERE C.ID = 3" 'get all data from contact
    Set RS = CurrentDb.OpenRecordset(SQL, dbOpenSnapshot)
    cmbPersonLangContact.SetFocus
    cmbPersonLangContact.Text = RS!LangContact
    cmbPersonLangContact.SelStart = 0


Wenn ich jetzt ein Contact auswähle, kriege ich ein "run-time error 2115", ein Validation-Rule verhindert das Speichern der angegebene Daten. Ich trage aber eine der vorhandene Items genauso ein...

Das komische: in ein ältere Version vom Fenster mache ich das ganze auf einmal, und dort funktioniert es! Auf einmal bedeutet hier etwas wie eine Schleife durch alle Sprachen, die im Combobox eintragen mit AddItem, und wenn der gewünschte Sprache vorbeikommt in der Schleife, der Text oben hineinschreiben. Das ist also nicht viel anders, würde ich sagen...

Hilfe?
Ardjan

<stolz> Mein Sohn! </stolz>

If it's too loud, then you're too old!
   !!! VIRUSWARNUNG !!!
15.03.2006, 10:24 Uhr - Editiert von Ardjan, alte Version: hier
Antworten PM Alle Chronologisch
 
Melden nicht möglich
.  Re: VBA-Access-Problem  (Ardjan am 15.03.2006, 15:25:10)
 

Dieses Forum ist eine frei zugängliche Diskussionsplattform.
Der Betreiber übernimmt keine Verantwortung für den Inhalt der Beiträge und behält sich das Recht vor, Beiträge mit rechtswidrigem oder anstößigem Inhalt zu löschen.
Datenschutzerklärung