Am Tue, 7 Jan 2014 18:11:22 +0100 schrieb Winfried Sonntag:
> Am 07.01.2014 schrieb WGH:
>
>> Ich will Daten per VBA in eine Tabelle einf锟絞en und erg锟絥zen. Das ganze
>> geht, solange ich die Tabelle von einem SQL-Server improtiere. Stelle ich
>> aber nur eine Verkn锟絧fung zu der Tabelle her, erhalte ich eine
>> Fehlermeldung bei rs.update.
>
> Wenn die Fehlermeldung nicht geheim ist, dann poste sie *vollst锟絥dig*
> hier.
Laufzeitfehler 3146 - ODBC-Aufruf fehlgeschlagen
>
>> Set db = CurrentDb()
>> Set irec = db.OpenRecordset("A_Adressen_neu", dbOpenDynaset)
>> Set orec1 = db.OpenRecordset("dbo_AdressDaten", dbOpenDynaset,
>> dbSeeChanges)
>>
>> keyid1 = 624
>> adrzonr = 1
>> irec.MoveFirst
>
> Was bezweckst Du mit MoveFirst? An den Anfang moven? Wozu brauchst Du
> das?
Weil ich die Tabelle von Anfang an durchlaufen will
>
>> While Not irec.EOF
>
> Ich pers锟絥lich nimm lieber Do until irec.EOF
>
>> orec1.AddNew
>> orec1!keyid = keyid1
>> orec1!Firma = 0
>> orec1!KeyRefAnschrStr = 0
>> orec1!KeyRefAnschrPF = 0
>> orec1!AdressNr = adrzonr
>> orec1!MatchCode = Left(UCase(irec!Nachname), 10)
>> orec1.Update
Hier beim update tritt der Fehler auf
>>
>>
>> adrzonr = adrzonr + 1
>> keyid1 = keyid1 + 1
>>
>> irec.MoveNext
>> Wend
>
> Anstatt Wend dann Loop
>
>> db.Close
>
> Und wenn dann vorher irec.close und orec1.close.
Stimmt, hat aber nichts mit dem Problem zu tun.