Neuigkeiten:

Wenn ihr euch für eine gute Antwort bedanken möchtet, im entsprechenden Posting einfach den Knopf "sag Danke" drücken!

Mobiles Hauptmenü

In Tabelle nach bestimmten Eintrag suchen

Begonnen von datekk, Juni 29, 2015, 09:39:47

⏪ vorheriges - nächstes ⏩

datekk

Hallo und einen schonen guten Montag.

Ich habe zwei Tabellen. Eine Tabelle "tbl_Auftrag" und eine Tabelle"tbl_Auftragsinhalte".

Die Tabelle Auftragsinhalte beinhaltet verschiedene Produkte, welche einem Auftrag zugeordnet sind. Die beiden Tabellen sind logischerweise verknüpft.. Alsp die Tabelle Auftragsinhalte beinhaltet ein Feld ID_Auftrag. Es ist normal, dass einem Auftrag mehrere unterschiedliche Produkte zugeordnet sind.

Es sind einzelne Produkte darunter, die z.B. in einem Bericht einen extra Textblock benötigen.

Meine Frage ist nun, wie kann ich mit VBA herausfinden, ob ein Auftrag bestimmte Produkt enthält? Also noch konkreter an einem Beispiel: Auftrag10 enthält die Auftragsinhalte Produkt A, Produkt B, Produkt C. Wie kann ich eine Variable z.B. auf 1 setzen, wenn Auftrag10 das Produkt B enthält?

Freue mich auf Lösungsansätze.

LG
datekk
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

Zitatdie z.B. in einem Bericht einen extra Textblock benötigen

was hast Du denn überhaupt vor?

Willst Du das Textfeld je nach Artikel aus/einblenden?
Das könnte in der Ereignisprozedur "Beim Formatieren" passieren, in dem man beim aktuellen Artikel das Textfeld auf NULL prüft (oder eine in der Tabelle mitgeführte "Markierung" auswertet).

Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

datekk

Ja, zum einen geht es um einen Textblock. Dieser soll aber nicht im Detailbereich erscheinen sondern z.B. im Berichtsfuß. Weiterhin soll an anderer Stelle über ein Formular bei einer Änderung eines Feldes nach dieser Eigenschaft gesucht werden. Eine erfolgreiche Prüfung soll ein Textfeld öffnen sowie eine Mail mit einem Bericht senden... Es ist also etwas komplexer.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

besitzt der Textblock dynamische Daten oder ist der Inhalt statisch?
Wie auch immer, und egal wo sich das Textfeld (oder Bezeichnungsfeld) befindet, kann es ein/ausgeblendet werden in der Format-Ereignisprozedur des entspr. Bereiches.

ZitatWeiterhin soll an anderer Stelle über ein Formular bei einer Änderung eines Feldes nach dieser Eigenschaft gesucht werden.

unverständlich...

ZitatEine erfolgreiche Prüfung soll ein Textfeld öffnen sowie eine Mail mit einem Bericht senden...

Naja, wenn das Ereignis bekannt ist, bei dessen Auftreten das Textfeld "geöffnet" ( Ein Textfeld kann nicht geöffnet , allenfalls auf sichtbar eingestellt werden) kann die dazugehörende Ereignisprozedur das Ganze ja ausführen...
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

datekk

Zitatbesitzt der Textblock dynamische Daten oder ist der Inhalt statisch?
Wie auch immer, und egal wo sich das Textfeld (oder Bezeichnungsfeld) befindet, kann es ein/ausgeblendet werden in der Format-Ereignisprozedur des entspr. Bereiches.

Der Text wäre statisch und ich weiß auch, wie Textblöcke ein oder ausgeblendet werden. Nur wie frage ich das vorhandensein des bestimmten Inhalts ab sodass ich mittels IF anweisung den Textblock ein bzw. ausschalte? Einfach IF Produktname = "Produkt X" Then....???

ZitatZitat

    Weiterhin soll an anderer Stelle über ein Formular bei einer Änderung eines Feldes nach dieser Eigenschaft gesucht werden.

unverständlich...

Ich versende ein Angebot mit bestimmten Inhalten. Erhalte ich dieses Angebot vom Kunden unterschrieben zurück, ändere ich über ein Formular in dem Datensatz den Status von Angebot auf Auftrag. In diesem Moment soll im Hintergrund geprüft werden, ob dieses Angebot einen gewissen Datensatz (ein bestimmtes Produkt) in der Tabelle "AngebotInhalte" aufweist. Wenn dies der Fall ist, soll eine Textmeldung erscheinen und eine Mail versand werden. Auch hier weiß ich, wie ich Textmeldungen erstelle und Mails versende.. Aber genau wie beim Bericht mit dem Textblock suche ich nach der Möglichkeit, wie ich z.B. die IF Klausel aufbaue. Es müsste so ähnlich ablaufen:

Behandlung des Kombinationsfelds im Formular... Aktion nach Aktualisierung:

Ist in der Tabelle "AngebotInhalte" bei Angeboten mit der Angebotsnummer 12345 in der Spalte Produkt unter anderem ein Produkt Namens "Produkt X" vorhanden... Wenn ja, Textmeldung und Mail versenden, wenn nein Ende.


Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

DF6GL

Hallo,

am Besten fragst Du mit DCount()-Funktion unter Übergabe der Angebotsnummer und der Artikelnummer als Kriterium die Tabelle "AngebotInhalte" ab, ob ein DS existiert und reagierst entspr.


Woher kommt denn die "bestimmte Artikelnummer"?

.
.
If Dcount ("*","AngebotInhalte","Angebotnummer = '" & Me!Angebotnummer & "' and ArtikelID = 99999) > 0 Then
'Artikel im Angebot vorhanden...
End If
.
.
Viele Grüße vom Bodensee
Franz, DF6GL

Hilfestellung:  http://www.access-o-mania.de/forum/index.php?topic=6969.msg118738#msg118738

Links und Tipps:
1.   http://v.hdm-stuttgart.de/~riekert/lehre/db-kelz/
1a. http://www.tinohempel.de/info/info/datenbank/normalisierung.htm
1b. https://support.office.com/de-de/article/Grundlagen-des-Datenbankentwurfs-eb2159cf-1e30-401a-8084-bd4f9c9ca1f5#bmterms
2.   http://www.donkarl.com
3.   https://web.archive.org/web/20201201233522/http://www.dbwiki.net/
4.   http://www.access-tutorial.de/
5.   http://www.tty1.net/smart-questions_de.htm
6.   http://access.joposol.com/accept

Last but not least:   < F1 > für Hilfe
;) Learning by doing not by spoon-feed ;)

Tipp: Find and Replace for Access

datekk

#6
... Danke, dass hört sich "funktionierbar" an.... Ich probier dies aus und melde mich asap.

Es gibt eine feste ArktikelID nach der gesucht wird.
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps

datekk

Danke Franz, das hat funktioniert. Nur konnte ich auf die Hochkommas verzichten, da die Angebotsnummer/-ID kein String ist.
Also:

If DCount("*", "AngebotInhalte", "Angebot_ID = " & Me.ID_Angebot & "And ID_Produkt = 4") > 0 Then

Besten Dank.
*gelöst* :)
Access 2016 mit SQL Server Backend. Bereits umgesetzt: Access mit MS SQL Backend,  ADODB Formularbindung, Streamen von Dateien zum SQL Server und zurück (Filestream), Drag&Drop Dateiupload zum Server, CTI / TAPI Integrierung in Access Anwendung - Nutzung auch über Remote Desktop, selbst aktualisierendes Access Frontend auf entfernten Rechnern (Upgrade). Berichte / Kreuztabellen mit SQL Server Backend, Mail Tagging, Outlook Steuerung über Access und umgekehrt // Grundwissen in .Net Core & Blazor Apps