MS-Office-Forum

Zurück   MS-Office-Forum > Microsoft Access & Datenbanken > Microsoft Access
Registrieren Forum Hilfe Alle Foren als gelesen markieren

Banner und Co.

Antworten
Ads
Themen-Optionen Ansicht
Alt 30.09.2009, 07:19   #1
tobey_p
MOF User
MOF User
Standard Acc2007 - UF-Textfelder mit Button automatisch ausfüllen

Hallo zusammen!

Nachdem ich jetzt schon das Forum ausgiebig durchforstet habe, aber leider keine passende Antwort gefunden habe, wollte ich euch mal um Rat fragen:

Ich habe ein Forumlar über dessen Vorauswahl man im entsprechenden UF selektierte Datensätze aufgezeigt bekommt. (UF als Endlos-Formular) Das ganze läuft im Rahmen einer Fertigstellungsübersicht für Projekte. Hier kann man pro Datensatz den Fertigstellungsgrad der Komponenten einstellen. (1 Datensatz=1 Komponente)

Da x Komponenten aber immer zu einer Baugruppe gehören, wollte ich eine Möglichkeit finden, um per Button-Klick den Fertigstellungsgrad aller Komponenten gleichzeitig bspw. auf 100% zu setzen. Momentan muß der User in jedem Datensatz mit Hilfe eines Kombifeldes den Fertigstellungsgrad manuell auswählen. Kostet natrüelich bei vielen Komponenten viel Zeit.

Heißt also, der Button muß in jedem Datensatz das Textfeld "fertigstellung" automatisch mit "100%" füllen. Aber nur für die Komponenten die zu der Auswahl aus dem HF passen. (sprich also zu dem entsprechenden baugruppen_key)

Ich hoffe, dass war jetzt nicht zu kompliziert beschrieben. Würd mich sehr freuen, wenn mir jemand einen Rat geben kann! Vielleicht über ein Code mit Hilfe von Insert into? Bin auf dem Gebiet leider noch nicht so firm...

Vielen Dank schon einmal!
tobey_p ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 30.09.2009, 07:30   #2
sw-blitz007
MOF Profi
MOF Profi
Standard

Hallo,

das kannst Du folgendermaßen lösen, wenn ich Dich richtig verstanden habe:

Code:

UPDATE tblKomponenten
SET Fertigstellung = 100
WHERE tblKomponenten.Verknüpfungsschlüssel = Hauptformular.Verknüpfungsschlüssel

__________________

Grüße aus dem Schwarzwald, Michael
sw-blitz007 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2009, 11:14   #3
tobey_p
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo sw-blitz007,

vielen Dank für deine Antwort!

Hab das jetzt folgendermaßen versucht zu lösen:

Code:

Private Sub button_fertigkomplett_Click()

msgtext = "Wollen Sie die ausgewählte Baugruppe wirklich auf 100% setzen?"

antwort = MsgBox(msgtext, vbYesNo + vbDefaultButton2)

If antwort = vbNo Then Exit Sub

Update usnsys_proj
Set usnsys_fertigstand = "Fertigstellung 100%"
Where usnsys_proj.sys_key = Me!sys_key And usnsys_proj.proj_key = Me!proj_key

Me.Parent![Produktionsplanung UF Fertigprozent].Requery


End Sub

Leider bleibt er bei diesem Code mit der Fehlermeldung "Complie Error: Variable not defined" bei "usnsys_proj" (Name der Tabelle) hängen. Kannst Du mir sagen, was ich noch berücksichtigen muß? Ist der Syntax des restlichen Codes denn so ok?

Vielen Dank noch einmal!

Geändert von tobey_p (01.10.2009 um 11:21 Uhr).
tobey_p ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2009, 11:46   #4
Atrus2711
MOF Guru
MOF Guru
Standard

Hi,

SQL kannst du in VBA nicht einfach reinschreiben. Das muss ausgeführt werden.

Code:

currentdb.execute "Update usnsys_proj " _
& "Set usnsys_fertigstand = 'Fertigstellung 100%' " _
& "Where usnsys_proj.sys_key = " & Me!sys_key & " AND " _
& "usnsys_proj.proj_key = " & Me!proj_key
und das auch nur, wenn sys_key und proj_key Zahlenfelder sind und der fertigstand ein Textfeld.
Atrus2711 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2009, 12:32   #5
tobey_p
Threadstarter Threadstarter
MOF User
MOF User
Standard

Danke Atrus,

funktioniert super!

Eine letzte Frage zu dem Thema: wie muß ich den Syntax verändern, wenn ich folgenden Zusatz in den "Set"-Teil einfügen möchte:

Code:

[usnsys_letzteaenderung] = Now

[usnsys_aenddurchbenutzer] = Environ("Username")
Danach schließ ich das Thema auch sofort, versprochen!

Vielen Dank nochmal!
tobey_p ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 01.10.2009, 13:08   #6
Atrus2711
MOF Guru
MOF Guru
Standard

Naja, das wäre doch Transferleistung, oder?

Code:

currentdb.execute "Update usnsys_proj " _
& "Set usnsys_fertigstand = 'Fertigstellung 100%', " _
& "[usnsys_letzteaenderung] = #" & Format(Now(),"yyyy-mm-dd hh:nn:ss") & "#, " _
& "[usnsys_aenddurchbenutzer] = '" & Environ("Username") & "' " _
& "Where usnsys_proj.sys_key = " & Me!sys_key & " AND " _
& "usnsys_proj.proj_key = " & Me!proj_key
Atrus2711 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.10.2009, 07:35   #7
tobey_p
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hallo nochmal,

leider bekomme ich bei diesen beiden Zeilen nun immer die Fehlermeldung "Run-time error 3075 Missing operator"....

Code:

& "[usnsys_letzteaenderung] = #" & Format(Now(),"yyyy-mm-dd hh:nn:ss") & "#, " _
& "[usnsys_aenddurchbenutzer] = '" & Environ("Username") & "' " _

Sorry, ich bin wirklich noch sehr wackelig auf den Füssen, was den Syntax in vba betrifft. Könntet ihr mir da nochmal bei helfen, was in dem Ausdruck fehlt?

Nochmal besten dank für eure Unterstützung!
tobey_p ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.10.2009, 07:47   #8
Atrus2711
MOF Guru
MOF Guru
Standard

Hi,

setz da mal einen Haltepunkt, und lass dir beim Anhalten des Codes die Werte anzeigen, die VBA da dynamisch dazuspielt (also Format(...), Environ(...) sowie die Formularfelder Me!... ).

Die Anweisung sieht so eigentlich ok aus, vorausgesetzt dass
  • usnsys_fertigstand ein Textfeld ist,
  • usnsys_letzteaenderung ein Datumsfeld ist
  • usnsys_aenddurchbenutzer ein Textfeld ist
  • sys_key ein Zahlenfeld ist und
  • proj_key ein Zahlenfeld ist.

Vermutlich ist eines der ausgelesenen Formularfelder leer.

Du könntest auch Den ganzen Code zwischen "Update..." und "Me!proj_key" mal kopieren und beim Anhalten im Direktbereich ausgeben. Dann wird der komplett "durchgerechnet" (evaluiert). Kopiere den mal in eine Abfrage, und schau dir diese an. Da wird irgendwo was fehlen.
Atrus2711 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.10.2009, 10:39   #9
tobey_p
Threadstarter Threadstarter
MOF User
MOF User
Standard

Hi Atrus,

diese Debug-Prozedur habe ich leider ebenfalls noch nicht so richtig drauf.

Ich habe mir jetzt nicht anders zu helfen gewußt als das Ganze so zu lösen:

Code:

CurrentDb.Execute "Update usnsys_proj " _
& "Set usnsys_fertigstand = 'Fertigung 100%'" _
& "Where usnsys_proj.sys_key = " & Me!sys_key & " AND " _
& "usnsys_proj.proj_key = " & Me!proj_key

CurrentDb.Execute "Update usnsys_proj " _
& "Set usnsys_letzteaenderung = #" & Format(Now(), "yyyy-mm-dd hh:nn:ss") & "# " _
& "Where usnsys_proj.sys_key = " & Me!sys_key & " AND " _
& "usnsys_proj.proj_key = " & Me!proj_key

CurrentDb.Execute "Update usnsys_proj " _
& "Set usnsys_aenddurchbenutzer = '" & Environ("Username") & "' " _
& "Where usnsys_proj.sys_key = " & Me!sys_key & " AND " _
& "usnsys_proj.proj_key = " & Me!proj_key

Bin mir natürlich im klaren, dass das keine elegante Lösung ist. Aber funktioniert zumindest! Hoffe, ich finde bald die Zeit, mein gefährliches Halbwissen mal strukturiert und gezielt aufzuarbeiten...

Euch nochmal vielen Dank für eure Antworten und Geduld!
tobey_p ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.10.2009, 11:09   #10
maikek
MOF Guru
MOF Guru
Standard

Hi, wenn das funktioniert, gibt es eigentlich nur einen Grund, warum die Gesamtanweisung nicht ging, du hast vermutlich hier das Komma vergessen:
Code:

& "Set usnsys_fertigstand = 'Fertigstellung 100%', "
maike

__________________

Bitte dein Thema auf erledigt setzen, wenn's durch ist!
MOF Access Stammtisch in Bremen
maikek ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.10.2009, 12:28   #11
tobey_p
Threadstarter Threadstarter
MOF User
MOF User
Standard

Oh mann, danke maike - genau das wars!

Vielen Dank euch allen!
tobey_p ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Alt 02.10.2009, 12:31   #12
Atrus2711
MOF Guru
MOF Guru
Standard

@tobey:

#6 Kopieren hätte gereicht, oder?

Zum Direktfenster: das Ding ist Gold wert zum Debuggen. Wenn der Code anhält, kannst du da beliebige Ausdrücke eingeben und Enter drücken, dann werden die mit den aktuellen Werten ausgerechnet.
Code:

? "Hallo " & "Welt " & Now()
Hallo Welt 02.10.2009 13:31.43
Atrus2711 ist offline  
verlinken auf Del.icio.us Diese Seite zu Mister Wong hinzufügen
Antworten Auf Beitrag antworten
Ads
Antworten


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Besucher: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge anzufügen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

vB Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist An.
Gehe zu


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:58 Uhr.


Partner und Co.
Access-Paradies -Alles rund um die Datenbank Microsoft Access -Code -Programme-Tools -Tipps   Kostenlose Tipps & Tricks, Downloads und Programme   www.kulpa-online.com - Tipps - Tricks - Tutorials - Meinungen - Downloads uvm...   vb@rchiv · Willkommen in der Welt der VB Programmierung   Access-Garhammer - Hier finden Sie jede Menge Beispiel-Datenbanken zu Access und mehr ...   mcseboard.de   Die Top Seite für Excel-VBA-Makros uvm.

Powered by: vBulletin Version 3.6.2 (Deutsch)
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.

Copyright ©2000-2018 MS-Office-Forum. Alle Rechte vorbehalten.
Copyright ©Design: Manuela Kulpa ©Rechte: Günter Kramer
Eine Verwendung der Inhalte in anderen Publikationen, auch auszugsweise,
ist ohne ausdrückliche Zustimmung der Autoren nicht gestattet.