Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: Bernie110 am Juni 09, 2011, 13:21:39

Titel: Codeausführung dauert ewig
Beitrag von: Bernie110 am Juni 09, 2011, 13:21:39
Hallo,

nachdem ich meine DB in FE & BE aufgeteilt habe, dauert die Codeausführung ewig.
Kann man da was verbessern ?

das ist der Code


CurrentDb.Execute "Update ERFASSUNG_Colli Set TOURNR='" & Me!TOURNR & "' where DTNr = " & Me!LfdNr

CurrentDb.Execute "Update ERFASSUNG_Colli Set AG_FirmenName1='" & Me!AG_FirmenName1 & "' where DTNr = " & Me!LfdNr




CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_FirmenName1='" & Me!EMPF_FirmenName1 & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_FirmenName2='" & Me!EMPF_FirmenName2 & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Adresse1='" & Me!EMPF_Adresse1 & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Adresse2='" & Me!EMPF_Adresse2 & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Land='" & Me!EMPF_Land & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Plz='" & Me!EMPF_Plz & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Ort='" & Me!EMPF_Ort & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Kontakt='" & Me!EMPF_Kontakt & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_TelNr='" & Me!EMPF_TelNr & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Faxnr='" & Me!EMPF_Faxnr & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EMPF_Email='" & Me!EMPF_Email & "' where DTNr = " & Me!LfdNr

CurrentDb.Execute "Update ERFASSUNG_Colli Set Ladedatum='" & Me!Ladedatum & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set LadeZeit='" & Me!Ladezeit & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EntLadedatum='" & Me!EntLadedatum & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set EntLadeZeit='" & Me!EntLadezeit & "' where DTNr = " & Me!LfdNr


'AG_Ext_KommNr

CurrentDb.Execute "Update ERFASSUNG_Colli Set Entladepos='" & Me!EntladePos & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set Ladepos='" & Me!LadePos & "' where DTNr = " & Me!LfdNr
CurrentDb.Execute "Update ERFASSUNG_Colli Set LTW='" & Me!LTW_FIX & "' where DTNr = " & Me!LfdNr


Danke für eure Hilfe
Gruss
Bernie
Titel: Re: Codeausführung dauert ewig
Beitrag von: database am Juni 09, 2011, 13:44:30
Hallo,

du KÖNNTEST zumindest mal versuchen das Update-Statement zusammenzufassen.
In Etwa so:

CurrentDb.Execute "Update ERFASSUNG_Colli Set TOURNR='" & Me!TOURNR & "', AG_FirmenName1='" & Me!AG_FirmenName1 & "', EMPF_FirmenName1='" & Me!EMPF_FirmenName1 & "',  ..... & "' WHERE DTNr = " & Me!LfdNr

Nach deinem Code würde für jedes Feld ein Statement auf die Tabelle losgelassen werden, was m.E. nicht besonders performancefördernd wirkt.
Titel: Re: Codeausführung dauert ewig
Beitrag von: DF6GL am Juni 09, 2011, 13:57:12
Hallo,

und mit Currentdb.Execute würde jedesmal eine neue Instanz der DB erzeugt. Insofern so schreiben, was durch die Zusammenfassung zu einem SQl-Statement aber "automatisch" passiert:



Dim DB as Database

Set DB =Currentdb

DB.Execute ....
DB.Execute ....
.
.

Set DB=Nothing
Titel: Re: Codeausführung dauert ewig
Beitrag von: Bernie110 am Juni 09, 2011, 14:54:23
Hey Ihr Beiden,

danke die Variante von Franz is super.

Gruss
Bernie