title image


Smiley Argumente übergeben an Sub-Prozedur oder Sub-Function
Hallo Ihr alle,



ich habe mittlerweile einiges in VBA gelernt und programmiere fleißig vor mich hin. Langsam bin ich aber nicht mehr glücklich, wenn alles einfach funktioniert, sondern ich möchte auch "guten" Stil programmieren, also weg von den Fleißpunkten für ewiges Tippen von im Grunde gleichem Code sondern Intelligenzpunkte für schlaues Programmieren von Sub-Prozeduren und Funktionen. Aber daran scheitere ich noch komplett.



Wenn mir jemand mein Beispiel verbessern könnte und vielleicht noch kommentieren, wäre das SUPER NETT:





Dim db As Database

Dim rst As Recordset



Set db = CurrentDb()

Set rst = db.OpenRecordset("Select * FROM tblvorgang

"WHERE [vorgangnr] = " & Me![kombi_vorgang].Text)

With Forms!fNotizEdit.Controls

!kombi_projekt.SetFocus

!kombi_projekt.Text = rst("proj_nr")

gstrvor_stich = rst("proj_nr")'global brauche ich später



...... noch 20mal ähnlich ....



!kombi_Ha.SetFocus

!kombi_Ha.Text = rst("angebotsnr")

glngvor_ha = rst("angebotsnr")



End With

rst.Close



Möchte ich ersetzen durch etwa so etwas

Set db = CurrentDb()

Set rst = db.OpenRecordset("Select * FROM tblvorgang

"WHERE [vorgangnr] = " & Me![kombi_vorgang].Text)

formfuellen (Forms!fNotizEdit.Controls!kombi_projekt as control, rst("proj_nr") as string, gstrvor_proj_nr)

formfuellen (Forms!fNotizEdit.Controls!tb_stichwort as control, rst("stichwort") as string, gstrvor_stichwort







Private Sub formfuellen(ctrl As Control, feld As String, gbl As String)

ctrl.SetFocus

ctrl.Text = feld

gbl = feld

End Sub

)



Das mit den Argumenten übergeben checke ich leider noch gar nicht. Außerdem bin ich mir nicht sicher, wie das mit der geöffneten rst klappt.



Bin auch dankbar für alternative Ideen



Bis bald

Gabriele



geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: