| |
 | Online-Kurs: Grundlagen des 3D-Druck-Designs für Industrieingenieure , ein Kurs
|
Autor
|
Thema: Recordset.FindFirst (2050 mal gelesen)
|
martin2 Mitglied Konstrukteur
   
 Beiträge: 1014 Registriert: 05.2002.27
|
erstellt am: 12. Nov. 2009 12:45 <-- editieren / zitieren --> Unities abgeben:         
Hallo! Folgendes Szenario: Ich habe eine Access-Datenbank mit u.A. folgender Tabelle: T_Artikel In dieser Tabelle sind u.A. folgende Felder enthalten: ArtikelnummerID, Artikelnummer, Stueckzahl1, Stueckzahl2 Weiterhin habe ich ein Startformular - darin enthalten u.A.: Ein Kombinationsfeld: cmbArtikelnummer Ein Textfeld: txtVoll Nun mein Problem: - Im Kombinationsfeld "cmbArtikelnummer" gebe ich eine Artikelnummer ein. - Nach der Eingabe (Ereignis: Bei Änderung) möchte ich, das im Textfeld "txtVoll" die "Stueckzahl1" vom entsprechenden Artikel der Tabelle "T_Artikel" angezeigt wird. -> Leider bisher ohne Erfolg... Mein bisheriger Code sieht so aus: Private Sub cmbArtikelnummer_Change() Dim cur_db As Database Dim RecArtikel As Recordset Set cur_db = CurrentDb Set RecArtikel = cur_db.OpenRecordset("T_Artikel") If cmbArtikelnummer.Value <> "" Then RecArtikel.MoveFirst RecArtikel.FindFirst "[Artikelnummer]= " & me.Caption 'Fehlermeldungen! If RecArtikel.NoMatch Then txtVoll.Value = "" Else txtVoll.Value = RecArtikel![Artikelnummer] 'Wie komme ich zur Stückzahl? End If RecArtikel.Close End If End Sub Vorab schon mal Besten Dank für Eure Mühen! Gruß Martin! P.S. Die Suche ergab folgenden Link: http://ww3.cad.de/foren/ubb/Forum347/HTML/000019.shtml#000013 ... da komm ich aber auch nicht ganz klar damit...
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mbabilon Mitglied Improvisator und Plänchenmaler
 
 Beiträge: 428 Registriert: 11.10.2005 Eplan 5.70 (nur unter Protest und Zwang) Eplan P8 - bis 2.9
|
erstellt am: 12. Nov. 2009 13:16 <-- editieren / zitieren --> Unities abgeben:          Nur für martin2
Hallo, hab's nicht probiert, aber, wenn Du nur die Stückzahl anzeigen willst, dann mach das doch ohne Programm: Der Steuerelement-Inhalt des Feldes TxtVoll ist: =DomErsterWert("[Stueckzahl1]";"T_Artikel";"[Artikelnummer] = '" & [cmbArtikelnummer] & "'") Probier mal, evtl muss noch was hin. Markus ------------------ Die drei Hemmschuhe des Fortschritts: Das haben wir schon immer so gemacht, das haben wir noch nie so gemacht, da könnte ja jeder kommen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
martin2 Mitglied Konstrukteur
   
 Beiträge: 1014 Registriert: 05.2002.27
|
erstellt am: 12. Nov. 2009 19:48 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, erst mal Danke für Deine Antwort. Leider verstehe ich den Code aber überhaupt nicht. Was ist "DomErsterWert"? Als Zusatzinfo noch folgendes: Ich möchte je nach Situation einmal die Stückzahl1 und einmal die Stückzahl2 angezeigt bekommen. (Das würde ich mit einer einfachen If-Abfrage in den Griff bekommen...) Mit dem angezeigten Wert im Textfeld txtVoll wird später noch im Startformular weitergerechnet. Wie geht's? Gruß Martin Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mbabilon Mitglied Improvisator und Plänchenmaler
 
 Beiträge: 428 Registriert: 11.10.2005 Eplan 5.70 (nur unter Protest und Zwang) Eplan P8 - bis 2.9
|
erstellt am: 13. Nov. 2009 07:42 <-- editieren / zitieren --> Unities abgeben:          Nur für martin2
Morgen, DomErsterWert ist eine "Spar-Abfrage" (würde ich sagen), gibt es auch als Summe, letzter Wert usw. als Anzahl z.B. heisst es in VBA dann DCount. Man kann es auch mit VBA lösen, aber ich persönlich finde, wenn es "nur" darum geht, in Formularen Werte anzuzeigen, ist ein solches Konstrukt einfacher und schneller als ein Makro..... Mit einfacher Fallunterscheidung: =Wenn([FeldWieAuchImmer] = 1;DomErsterWert("[Stueckzahl1]";"T_Artikel";"[Artikelnummer] = '" & [cmbArtikelnummer] & "'");DomErsterWert("[Stueckzahl2]";"T_Artikel";"[Artikelnummer] = '" & [cmbArtikelnummer] & "'")) Die Wenn's kann man auch schachteln, aber ab einer hohen Anzahl von Schachtelungen macht dann doch ein Modul Sinn.... Um das mit DomErsterWert herauszufinden geh im Formularentwurf in das Feld auf Steuerelementinhalt, da auf die Drei-Punkte bzw. Rechte Maustaste - Aufbauen, Da klickst Du in -Funktionen -Integrierte Funktionen -Dann in der Mitte Domänenaggregat -Dann hast Du rechts die Varianten Markus
------------------ Die drei Hemmschuhe des Fortschritts: Das haben wir schon immer so gemacht, das haben wir noch nie so gemacht, da könnte ja jeder kommen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
martin2 Mitglied Konstrukteur
   
 Beiträge: 1014 Registriert: 05.2002.27
|
erstellt am: 18. Nov. 2009 11:48 <-- editieren / zitieren --> Unities abgeben:         
Hallo nochmal, hat leider etwas gedauert - war anderweitig beschäftigt. Mittlerweile hab ich mich bezüglich des Befehls etwas schlau gemacht. Er sollte für meine Zwecke absolut ausreichend sein. Besten Dank hierfür! Leider habe ich jedoch noch ein Syntaxproblem. Irgendwo im Ausruck =DomErsterWert("[Stueckzahl1]";"T_Artikel";"[Artikelnummer] = '" & [cmbArtikelnummer] & "'") ist noch ein Fehler versteckt. :-( Vermutlich liegt er im dritten Argument - wenn ich das nämlich weglasse, so funktioniert die Geschichte "ansatzweise". Doch wo genau? Gruß Martin
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
mbabilon Mitglied Improvisator und Plänchenmaler
 
 Beiträge: 428 Registriert: 11.10.2005 Eplan 5.70 (nur unter Protest und Zwang) Eplan P8 - bis 2.9
|
erstellt am: 18. Nov. 2009 14:43 <-- editieren / zitieren --> Unities abgeben:          Nur für martin2
Hallo, war auch im Streß.... Von welchem Format (Zahl?) ist das Feld cmbArtikelnummer bzw. Artikelnummer? (Ich bin von String und String ausgegangen.) Wenn beides vom Format Zahl ist, dann lass mal das ' und das & "'" weg. Markus ------------------ Die drei Hemmschuhe des Fortschritts: Das haben wir schon immer so gemacht, das haben wir noch nie so gemacht, da könnte ja jeder kommen... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |

| CAM-Administrator (m/w/d) | BAADER ist mit mehr als 1.600 Mitarbeitenden weltweit der Partner für Lebensmittelverarbeitungslösungen und in mehr als hundert Ländern auf sechs Kontinenten aktiv. Bei uns erwarten Sie vielfältige Tätigkeitsfelder, von der Entwicklung und Herstellung von Spezialmaschinen und Lösungen für die Verarbeitung von Fisch, Geflügel und Fleisch über Vertrieb, Projektierung und Installation bis hin zu unterstützenden Bürofunktionen, Service und After-Sales.... | Anzeige ansehen | Feste Anstellung |
|
martin2 Mitglied Konstrukteur
   
 Beiträge: 1014 Registriert: 05.2002.27
|
erstellt am: 23. Nov. 2009 12:29 <-- editieren / zitieren --> Unities abgeben:         
|