Access-o-Mania

Access-Forum => Formular => Thema gestartet von: Janky am April 01, 2022, 17:13:14

Titel: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 01, 2022, 17:13:14
Grüße, ich sitze seit ein paar Tagen an meiner Aufgabe für eine Hausarbeit. Hatte zuvor leider noch nie etwas mit Access zu tun und verzweifle an so manchen stellen. zu einigen Problemen bin ich hier schon fündig geworden, leider nicht zu meinem Aktuellen.
Worum geht es insgesamt: Ich soll eine Datenbank bauen für eine Firma die 3D-Druckteile fertigt und andere Artikel verkauft. Die Teile sollen vom Anwender per Dropdownmenü zusammengestellt werden. Es soll automatisch eine Artikelnummer erzeugt und über Kalkulationsfaktoren ein Preis errechnet werden.

Bisher habe ich 4 Tabellen: Form, Farbe, Größe, Bearbeitung. Jede Tabelle Hat die unterscheidlichen Eigenschaften wie z.B. bei Farbe Blau, Weiß usw., einen Code, und einen Kalk.Faktor. Über den Code wird die Artikelnummer erstellt.
Damit ich nicht alle 720 aktuellen Kombinationsmöglichkeiten einzeln erstellen muss hab ich das über eine Abfrage gelöst in der auch gleich die Artikelnummer erstellt wird. Zudem habe ich für die einzelnen Sachen Parameterabfragen erstellt welche per Dropdownmenü im Formular gesetzt werden. Somit wird mir in der Abfrage bereits immer ausschließlich der im Formular angezeigte Artikel gelistet.
Nun möchte ich dass die Artikelnummer welche in der Abfrage steht ins Formular in ein Textfeld übernommen wird. Leider erscheint in dem Feld aber nur #Name?
Irgendwo hatte ich dann gelesen dass das Problem sei, dass das Formular leer sei beim Start. Leider haben aber auch Standartwerte für Form usw. im Menü nichts gebracht. Wie bekomme ich meine Artikelnummer in mein Formular?

Wäre echt super wenn jemand dafür eine Lösung hat.
Hier hab ich noch Bilder von dem was ich bisher erstellt hab:
https://abload.de/image.php?img=1pakvk.png
https://abload.de/image.php?img=2ghknj.png
https://abload.de/image.php?img=350jep.png
https://abload.de/image.php?img=4g2jfo.png
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 01, 2022, 19:06:27
Hallo,,
schreibe einfach in das Artikelnummer-Feld  Artikelnummer hinein (den Alias-Namen des berechneten Feldes aus der Abfrage, sofern die Abfrage Datensatzherkunft des Forms ist.


Für meine Begriffe fehlt aber ein Tabelle "tblArtikel" in der die Artikelnummern mit ihren Kombinationen  gespeichert werden. Der bisherige Zustand kann m. E. nur ein anfänglicher Initial-Vorgang sein, um alle möglichen Artikel(nummern) zu generieren.

Oder soll eine Artikelnummer jedes Mal auf's Neue per Zusammenstellung erzeugt werden?

Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 01, 2022, 19:39:03
Hallo, vielen Dank für die schnelle Antwort. Die Artikelnummer muss nicht jedes mal neu erzeugt werden. Habe jetzt die bisherige Abfrage abgeändert, so dass sie nun alles in eine Tabelle speichert. Habe dann eine neue Abfrage erstellt welche daraus nach Auswahl der Varianten im Formular die passende Artikelnummer findet. Leider funktioniert nun auch wieder die Ausgabe ins Formular nicht. für die Zuweisung hab ich im Formular im Textfeld nun =[ArtNrPreis]![Artikelnummer] stehen. ArtNrPreis ist der Name der Abfrage und Artikelnummer heißt die Spalte in der die Nummer steht. Ausgegeben wird wieder #Name?
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 01, 2022, 20:08:12
Hallo,

Du sollst nur "Artikelnummer" in den Steuerelementinhalt schreiben  oder aus der Feldliste auswählen.


Eigentlich macht man das Ganze ganz anders, falls alle möglichen Kombinationen zu je einer Artikelnummer führen sollen:

Eine Anfügeabfrage ( an tblArtikel) die einmalig auf einen Rutsch sämliche Kombinationen zusammenführt und die Artikelnummer berechnet.


Dazu ein Formular, mit dem die generierten Artikel gepflegt werden können.  (Löschen, Ändern, Weiterverarbeiten) 


Kommt eine neue Kombination hinzu, läßt man die Anfügeabfrage nochmal ausführen.  Dabei ist ein richtiger Tabelleaufbau (Indizierung) (und auch ein prüfendes SQL-Statement) erforderlich .
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 01, 2022, 20:16:01
auch mit "Artikelnummer" im Steuerelementinhalt bleibt der Fehler bestehen.
=[ArtNrPreis]![Artikelnummer] wurde mir beim Steuerelementinhalt mit dem Ausdrucks-Generator erstellt
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 02, 2022, 09:16:19
HAllo,

lad die DB-DAtei hier hoch, komprimiert/repariert und gezippt.

Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 03, 2022, 11:07:54
vielen Dank, ich hoffe mal dass das so funktioniert

Moderatorenanmerkung: Datei hier im Forum angehängt. MzKlMu
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 03, 2022, 11:40:58
Hallo,

lade Dateien hier im Forum hoch, nicht über einen Upload-Service...


Als erste Hausaufgabe:

--  Benenne Tabellen, Abfragen, Formulare mit einem sinnvollen Prefix:  Tabellen: tblXXXXX, Abfragen: qryXXXXX, Formulare: frmXXXXX  usw.

-- Vermeide Sonder- und Leerzeichen (überall!) in eigenerstellen Objektnamen.

-- Erweitere alle Tabellen mit einem sinnvoll benannten Autowertfeld als Primärschlüsselfeld:

Z. B. für Tabelle "Farben" (---> "tblFarben")  mit Feld "FarbID" als Autowert und Primärschlüssel.

Bei "Kunden" (--> "tblKunden")  benenne "ID" in "KundID" um. Dito bei "Verkäufe" ("ID" --> "VerkaufID")


-- Benenne "Drucktitel" in "tblArtikel" um (denn um solche handelt es sich hier). Füge Feld "ArtikelID" (Autowert) und ändere den PK auf dieses Feld

--  Legen einen eindeutigen Index  ("ohne Duplikate") auf Feld "Artikelnummer"
   
--  Entferne alle Felder (in "tblArtikel") bis auf ArtikelID, Artikelnummer,Grundpreis, Verkaufspreis

--  Füge für jede Tabelle bezgl. der entfernten Felder (4 Tabellen) einen Verweis (Fremdschlüsselfeld) auf die entspr. Tabelle ein (z. B . für "Form":  "FormID_f",,  für "Größen": "GrößenID_f").  Beachte den Zusatz "_f"  als Kennzeichnung eines Fremdschlüsselfeldes und den erforderlichen Datentyp ZAHL,LONG.

--  Setze 1:n-Beziehungen (im Beziehungsfenster) zwischen tblArtikel und allen damit verbundenen  Tabellen  (siehe Fremdschlüssel)


--  Wirf die Abfragen und die Formulare aus der DB...



Wenn das erledigt ist, lade die DB wieder hier(!) hoch.
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 03, 2022, 12:29:00
ok, vielen Dank, ich lege gleich los. Ursprünglich wollte ich die DB auch direkt hier hochladen, leider kann ich den Button dafür nicht finden. Bei allen Feldern zum Sachen hinzufügen wird nach einer URL gefragt. Kann es sein dass mein Status im Forum das direkte Hochladen von Daten nicht erlaubt?
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: MzKlMu am April 03, 2022, 12:37:49
Hallo,
Zitat von: undefinedmein Status im Forum das direkte Hochladen von Daten nicht erlaubt?
Nein, Du kannst hier auch Dateien hochladen.
Wenn Du den "Antworten" Button drückst, findest Du unten einen Button "Attachments and other options" dort kannst Du über "Add File" Dateien hochladen.

Im Beitrag #6 habe ich die Datei hier hoch geladen.
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 03, 2022, 13:47:06
Dankeschön, habe bisher wohl die Schnellantwort genutzt. Ich hoffe sehr ich hab jetzt alles so umgesetzt wie es angedacht war

Sie dürfen in diesem Board keine Dateianhänge sehen.
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: MzKlMu am April 03, 2022, 14:48:29
Hallo,
bei einer Beziehung muss noch RI eingestellt werden.

Kann ein Kunde bei einem Verkauf immer nur ein Artikel kaufen ?
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 03, 2022, 15:00:44
Hallo,

Zitat von: undefinedalles so umgesetzt

nicht ganz.. Sonderzeichen waren vorhanden, Benamsungen nicht eindeutig über alle Tabellen gesehen ("Code" ,etc.),
Ref. Integrität bei Verkäufe-Artikel wegen fehlerhaften Daten nicht etabliert.


Als Lösung für die anfängiche Frage gibt es eine Abfrage qry_Erzeuge Artikel, die die tblArtikel mit der berechneten Artikelnummer und den dazugehörenden Fremdschlüsselwerten füllt.


Diese Abfrage habe ich aber etwas "reduziert", nachdem die tblArtikel gefüllt wurde.  Sie enthält nur die Berechnung der Artikelnummer, damit Du ( weil "Hausaufgabe") die restlichen Spalten selber einbaust.


Grundsätzlich ist aber eine solche "Berechnung" einer Artikelnummer und deren Speicherung in einer Tabelle eher nicht zu empfehlen.  Die Artkelnummer kann jederzeit und überall aus den Grunddaten ("Code") dort zusammengesetzt werden, wo man sie braucht.


Und noch eine Optimierung:

Die 4 Grundtabellen könnten zu einer einziger Tabelle zusammengefasst werden, mit einem zusätzlichen Feld ("ArtikelEigenschaft"),  das die "Art" der Daten kennzeichnet und unterscheidbar macht.


Weiterhin solltest Du überlegen, welche Felder in "tblVerkäufe" noch zusätzlich erforderlich sind (z. B. "Verkaufsdatum", "Menge", etc.) .

Das Feld "Verkaufspreis" ist überflüssig und kann entfallen. Allenfalls ist das Feld in tblVerkäufe denkbar (redundand aus Performancegründen).






Erstelle dann Formulare mit Datenherkunft zur jeweiligen Tabelle):

frmArtikel  als Einzelform

Alle anderen Forms als Endlosform.

Die Fremdschlüsselfelder in frmArtikel werden als (Nachschlage-)Kombis ausgeführt.

Dito KundenID_f in tblVerkäufe


frmVerkäufe wird als UFO-Steuerelement in tblArtikel eingebaut mit "Verknüpfen von/nach" über die adequaten Schlüsselfelder.
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Maxel am April 03, 2022, 16:33:05
Nebenbei eine kleine Anmerkung:

Ich verstehe nicht, warum man eine Tabelle tblVerkäufe nennen muss - abgesehen vom Sonderzeichen ä.

Eine Tabelle beinhaltet doch in der Regel mehrere Datensätze einer Entität - warum sollte man also die Mehrzahl verwenden, wenn doch die Einzahl tblVerkauf kürzer und im weiteren Handling angenehmer anzuwenden ist?
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 03, 2022, 17:48:00
Irgendwie stehe ich gerade voll aufm Schlauch... Zuerst wollte ich mich um die Optimierung kümmern. Jedoch verstehe ich nicht wie ich das genau umsetzten soll. Bisher hat ja jede Eigenschaft eine Autowert ID. Dadurch hab ich zu jeder Farbe einen eindeutig zugewiesenen Farbcode und einen Klak.faktor. Wenn ich die zusammen in eine Tabelle packe haben ja alle Eigenschaften gemeinsam eine Autowert ID. Du meintest mit einem weiteren Feld "Art" könnte ich das unterscheiden. Bei der Überlegung komme ich aber nicht ganz mit.
So wie es jetzt ist verstehe ich die Logik dahinter noch ganz gut glaube ich und es erscheint mir recht leicht per Formular später neue Farben, Formen usw. hinzuzufügen. Was wäre der Vorteil von allem in einer Tabelle und wie soll das mit der Unterscheidung dann funktionieren?

Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: MzKlMu am April 03, 2022, 17:49:18
Hallo,
@Maxel
auch nebenbei.
Für mich ist hier die Mehrzahl logischer.
Ich würde hier die Tabelle auch "tblVerkäufe" nennen und den Primärschlüssel aber als Einzahl "VerkaufID".

Die Tabelle beinhaltet mehrere Verkäufe mit jeweils einem Verkauf. Ist für mich völlig logisch.  8)
Ist aber denke ich Ansichtssache.

Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 03, 2022, 18:17:20
ich hab jetzt alle ä, ö usw. ersetzt. Hatte anfangs nicht bedacht dass das ja auch Sonderzeichen sind. Hatte zunächst nach /#? usw gesucht um die zu verbannen  ::)
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 03, 2022, 21:07:33
Hallo,



ZitatWas wäre der Vorteil von allem in einer Tabelle und wie soll das mit der Unterscheidung dann funktionieren?


Der Vorteil ist nur db-technischer Natur. Die Tabellen unterscheiden sich nicht im logischen Sinn ihrer Tabellenfelder, diese müssen nur so gekennzeichnet werden, zu welcher Kategorie sie gehören. Die Unterscheidung geschied halt durch einen Feldinhalt und nicht durch separate Tabellen.



@Maxel:

ZitatIch verstehe nicht, warum man eine Tabelle tblVerkäufe nennen muss - abgesehen vom Sonderzeichen ä.

Das muss man nicht, und es ist auch kein Dogma. Und  die Umlaute gehören auch nicht zu den Sonderzeichen.

(Viel) wichtiger sind die "echten" Sonderzeichen (außer Unterstrich).


Klaus hat dazu ja schon eine Erklärung zur Pluralität gegeben.



Wenn die DB international aufgestellt sein sollte, wäre allerdings eine komplette Benamsung mit englischen Namen (Bezeichnungen), die keine Ümlaute enthalten, eher angebracht. Aber selbst mit einer in arabischer Schrift verfassten DB und deutschem Access hatte ich (bis auf die Tatsache, dass ich kein arabisch lesen kann ;-) , keine Probleme in dieser Beziehung.   8)




Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 03, 2022, 21:41:23
Hallo, dann lasse ich es lieber wie es ist. habe keine Ahnung wie ich das genau umsetzten soll und ich verzweifle an den anderen Baustellen schon genug. Sitze jetzt seit du die geänderte DB hochgeladen hast hier und versuche die aktualisierungsabfrage zum laufen zu bekommen. Aber außer Fehlermeldungen ist lange nichts passiert. Jetzt hat er die Tabelle plötzlich um Datensätze für eine neue Farbe ergänzt obwohl er eine Fehlermeldung ausgegeben hat, hat bei der ArtikelID jedoch nicht von 720, sondern bei 1441 weitergezählt.
Habe langsam das Gefühl ich habe für Access ein paar Gehirnwindungen zu wenig und sollte mich auf CAD konzentrieren. Dummerweise muss ich trotzdem irgendwie dieses Fach bestehen...
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 04, 2022, 08:36:03
Hallo,

gibst Du immer so schnell auf?

Zitat von: undefinedhat bei der ArtikelID jedoch nicht von 720, sondern bei 1441 weitergezählt.

Und um wieviele reale  Datensätze handelt es dabei?  Der Autowert zählt grundsätzlich beim Einfügen immer weiter, auch wenn vorherige Datensätze gelöscht werden. Das ist normal. Wenn der Autowert wieder bei 1 beginnen soll, dann ist der Tabelleninhalt komplett zu löschen und die DB zu "komprimieren/reparieren".






In der anhängenden Datei habe ich die Abfrage teilweise komplettiert. Du musst sie nur um die (Schlüssel-)Felder für Größen und Bearbeitungen erweitern.

Die tblArtikel ist inhaltlich gelöscht und die Db komprimiert/repariert, so dass "ArtikelID" wieder bei 1 beginnen kann.


Wenn die Abfrage alle (erwarteten) 720 DS generiert hat und nochmal ausgeführt wird, sollte eine Fehlermeldung bezgl. Schlüsselverletzung auftauchen und kein weiterer DS angefügt werden.


Wird dann eine neue Farbe (oder bei anderer Tabelle) hinzugefügt und die Abfrage ausgeführt, wird sie auch eine Fehlermeldung anzeigen, aber die neuen passenden Artikel einzufügen.



Der Ursache hierfür liegt darin, weil "Artikelnummer" einen eindeutigen Index besitzt, Dadurch kann ein vorhandener Artikel nicht nochmal, bzw. mehrmals eingefügt werden, was ja sicher sinnvoll ist.

Die Abfrage nutzt die Überwachung des Access-Datenbankmoduls (Jet-Engine, bzw. ACE) aus  (ebs wird mich schlagen  ;D  ).  Man könnte die Abfrage aber auch so gestalten, dass sie durch Überprüfung nur diejenigen DS anfügt, die noch nicht vorhanden sind. Dadurch wird die entspr. Fehlermeldung des DB-Moduls nicht getriggert, weil gar kein Fehler beim Einfügen auftritt.

https://www.ms-office-forum.net/forum/showthread.php?t=304156

(Punkt 3)
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 04, 2022, 11:58:51
Hallo,
das ist genau das was ich gestern als erstes gemacht habe. Hab dann die Fehlermeldung mit der Schlüsselverletzung bekommen und versucht herauszufinden was das bedeutet. Hab dann geprüft ob die Einstellungen für Indiziert passen. Die Fehlermeldung blieb identisch und ich hab fleißig weitergesucht bis mich die vielen Anleitungen usw. so verwirrt haben bis ich das Gefühl hatte das ich bisher wohl die Logik dahinter vollkommen falsch verstanden habe. Normal gebe ich nicht schnell auf. Ich merke nur dass mir die Zeit wegrennt. Meine Woche Zeitpuffer ist schon verbraucht und ich komme lange nicht so schnell voran wie ich es geplant hatte. Gestern Abend war einfach nicht gut. Aber heute geht's Vollgas weiter. Das ich ja wohl von Anfang an die richtige Richtung eingeschlagen hatte motiviert dann doch ungemein.
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 04, 2022, 12:49:18
Hallo,

hast Du es denn die Abfrage nun soweit fertig gestellt, dass alle Artikel mit ihren Fremdschlüsseln eingetragen werden?

Wenn so, dann  kannst Du Dich ja an die Formulare machen und zunächst überlegen, was mit denen gemacht werden soll.



Tipp:

Der Aufruf (Ausführung) der Abfrage könnte manuell mit der Klick-Ereignis-Prozedur einer Schaltfläche ("btnArtGen" oder ähnlich) im Form "frmArtikel"  realisiert werden.

Ganz komfortabel wird es, wenn jedes Mal nach dem Einfügen eines neuen Datensatzes in eine der  Grundtabellen (tblFarben, tblGrößen, etc )  die Abfrage ausgeführt würde.


(btw:  Das ist nur notwendig, wenn die berechnete Artikelnummer als solche gespeichert werden soll. Letzthin hatte ich ja angedeutet, dass berechnete Werte nicht gespeichert werden sollten. Wenn die zusammengesetzte Artikelnummer nicht gespeichert werden würde, entfiele das ganze Abfrage-Getöns. Ich bin auf die Abfrage-Lösung nur eingegangen, weil ich einen "Lerneffekt" im Auge hatte.)
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 04, 2022, 13:20:41
Also die Abfrage habe ich wohl verstanden. Also wen ich möchte das alle möglichen Kombinationen gebildet werden Ziehe ich die Tabellen ins obere Fenster, verknüpfe sie nicht miteinander und wähne unten aus jeder Tabelle das Feld aus welches ich haben möchte und gebe an wo dieses Gespeichert werden soll. Die Artikelnummer wird generiert durch die entsprechenden [Codefelder] welche mit & verbunden werden. soweit ganz logisch.
Wenn ich jetzt die Artikelnummer speicher, bräuchte ich in Zukunft immer nur auf Das Feld zugreifen wo sie gespeichert ist.
Wenn ich sie nicht speicher müsste ich ja jedes mal die Zusammensetzung angeben. Warum ist das ein Vorteil? Nur wegen der Datenmenge? Hätte gedacht dass ich Rechenleistung spare wenn ich es einmal berechnen lasse und dann nur noch darauf zugreife.
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 04, 2022, 14:02:21
Hallo

Abfrage: ok.  Nennt sich Cross Join oder kartesisches Produkt (Kreuzprodukt)



Zitatbräuchte ich in Zukunft immer nur auf Das Feld zugreifen wo sie gespeichert ist.


das ist richtig, zeigt aber nur den Stand zu demjenigen Zeitpunkt, an dem die Abfrage zuletzt ausgeführt wurde. 


ZitatWenn ich sie nicht speicher müsste ich ja jedes mal die Zusammensetzung angeben. Warum ist das ein Vorteil? Nur wegen der Datenmenge? Hätte gedacht dass ich Rechenleistung spare wenn ich es einmal berechnen lasse und dann nur noch darauf zugreife.



Der Vorteil einer Einsparung von Rechenzeit (wir sprechen hier und heutzutage von Microsekunden) wiegt nicht die Aktualität der Daten auf. Zudem erspart man sich überflüssige Aktionen, die latente Fehler beinhalten könnten.


Die Datenmenge und Berechnungszeiten in dieser DB ringen Access nicht mal ein müdes Runzeln ab.  ;D


Zitat...dann nur noch darauf zugreife...

Hier stellt sich eben die noch nicht beantwortete Frage, was denn nun anschließend mit der Artikelnummer angestellt werden soll...
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 04, 2022, 14:25:35
Ziel ist es dass man auswerten kann welcher Kunde hat was wann gekauft. Zudem soll eine Rechnung aus diesen Daten erstellt werden. Die Artikelnummer soll mit auf die Rechnung. Die Artikelnummer soll außerdem die Kommunikation und die Suche nach Artikeln vereinfachen. z.B. wenn eine anfrage kommt ob "Vase Luna Weiß 210mm mit Goldglitzer" 7x und ... und ... auf Lager ist, wäre es einfacher "03010102 7x" als  Anfrage zu bekommen die man dann ganz schnell eintippen kann und den Lagerbestand sieht
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Beaker s.a. am April 04, 2022, 16:46:48
Hallo Janky,
Das ist doch alles kein Problem.
Du brauchst eine "tblArtikel" mit einem Autowert als Pk und den Feldern
aus denen deine ArtikelNrn. zusammengesetzt werden sollen (unten F1 - F3
benannt). Über diese Felder legst du dann noch einen eindeutigen Mehr-
felder-Index. Diese Tabelle füllst du einmalig anhand der gezeigten Kreuz-
tabelle.
Nur der Autowert wird dann für alle Beziehungen sowie zum Finden heran-
gezogen. Der Wert an sich hat keine inhaltliche Bedeutung.
Zum Finden eines Artikels auf einem Formular (DS-Herkunft = Abfrage auf
tblArtikel inkl. der berechneten ArtikelNr, s.u.) kannst du z.B. ein ungebun-
denes Kombi einrichten mit der gleichen (aber eingeschränkten, für's Kombi
reichen ja die zwei Felder) DS-Herkunft
"SELECT ArtikelID, F1 & F2 & F3 As ArtikelNr FROM tblArtikel"
Spalten: 2
-Breiten: 0cm, 4cm
automatisch ergänzen = Ja
Da kannst du dann deine ArtikelNr eingeben und mit
Privat Sub DiesKombi_AfterUpdate()
    Me.RecordSet.FindFirst "ArtikelID = " & Me.DiesKombi
End Sub
zu dem DS navigieren.
Wenn du lieber mit Teilen der ArtikelNr suchen oder darauf filtern willst, nimm
ein Textfeld
Privat Sub EinTextfeld_AfterUpdate()
'entweder, findet den 1. DS, der dem Suchmuster entspricht
    Me.RecordSet.FindFirst "ArtikelNr LIKE '*" & Me.EinTextFeld & "*'"
'oder, filtert die DS-Herkunft des Forms auf alle DS, die dem Suchmuster entsprechen
    Me.Filter LIKE '*" & Me.EinTextFeld & "*'"
    Me.FilterOn = True
'wobei ich es bevorzuge hier ohne feste Joker zu arbeiten, und lieber
den Anwendern deren Verwendung erkläre, gerade in deinem Fall
End Sub
Lagerbestände zeigst du in einem UFo oder einem Listfeld an. Voraussetzung, die
Bewegungsdaten haben einen FK zur ArtikelID (s.o.)

gruss ekkehard
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: Janky am April 05, 2022, 09:25:10
Vielen Dank für eure Hilfe. Leider merke ich dass ich in jeder Antwort erstmal so viel noch Googlen muss was die Sachen alles bedeuten und mein Wissensstand es selbst mit einer so tollen Hilfe unmöglich macht bis Donnerstag Abend die Datenbank fertig zu haben. Gibt es hier vielleicht jemanden der per Discord Nachhilfe geben könnte? Glaube wenn ich nicht stunden mit der Suche nach Antworten verschwende könnte ich es noch schaffen. Könnte 25€ pro Stunde anbieten. Oder haltet ihr es selbst auf diese Art für aussichtslos
für einem absoluten Noob auf dem Gebiet?
Titel: Re: Kombifeld im Formular zur Parameterangabe in Abfrage mit Ausgabe ins Formular
Beitrag von: DF6GL am April 05, 2022, 09:35:35


https://www.access-o-mania.de/forum/index.php?topic=6969.msg155028#new