Neuigkeiten:

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

Mobiles Hauptmenü

ungebundens Feld mit Werten aus Taballe in Abhängigkeit vom Wert im Bericht

Begonnen von Labor, Februar 16, 2023, 14:00:33

⏪ vorheriges - nächstes ⏩

Labor

Hallo, ich habe einen Bericht mit Werten aus einer Tabelle. Ich möchte nun in einem ungebundenen Feld Texte aus einer anderen Tabelle anzeigen, aber in Abhängigkeit eines Wertes im Bericht.

Im Bericht gibt es ein Feld mit PT100/3-L oder TC.
Im ungebunden Feld soll nun bei PT100/3-L der entsprechen Text aus der Tabelle Norm der entsprechen Text angezeigt werden.
Die Tabelle Norm hat die Spalten System und Text.
In der Spalte System steht PT100/3-L, TC.

Gibt es da eine Lösung?

MzKlMu

Hallo,
nimm in die Abfrage für den Bericht die Tabelle "Norm" mit dazu und verknüpfe über die Spalte "System".
Dann hast Du auch die Spalte mit dem Text zur Anzeige im Bericht zur Verfügung. Ein ungebundenes Feld braucht man da nicht.

ZitatDie Tabelle Norm hat die Spalten System und Text.
Gibt es in der Tabelle keine Zahl (Autowert) als Primärschlüssel ?

Zeige bitte mal ein Bild des Beziehungsfensters.
Gruß Klaus


MzKlMu

Hallo,
und zu den anderen Hinweisen sagst Du nichts ?

Ich hatte nachträglich noch um ein Bild der Beziehungen gebeten.
Gruß Klaus


Beaker s.a.

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

MzKlMu

Hallo,
eine Datenbank ohne Beziehungen ist keine Datenbank, sondern ein Datenhaufen.

Ich habe Dir in #1 einen Vorschlag gemacht zur Lösung Deines Problems, was ist denn daraus geworden ?
Gruß Klaus

Labor

Ich hatte es schon versucht mit VBA versucht.
Private Sub Report_Load()
If Text106 = "PT100/3-L" Then Text403 = ([Norm].[Nr] = 1)

End Sub

Text403 = ([Norm].[Nr] = 1) ist gelb markiert.

MzKlMu

Hallo,
Du brauchst kein VBA, folge meinen Vorschlag den ich bereits in #1 gezeigt habe.
Zitatnimm in die Abfrage für den Bericht die Tabelle "Norm" mit dazu und verknüpfe über die Spalte "System".
Dann hast Du auch die Spalte mit dem Text zur Anzeige im Bericht zur Verfügung. Ein ungebundenes Feld braucht man da nicht.

Einfacher geht es nicht.

Du solltest Deine Datenbank vernünftig aufbauen. Man kann keine relationale Datenbank aufbauen ohne Beziehungen. Beziehungen sind das A + O einer Datenbank. Hättest Du Beziehungen angelegt, hättest Du Dein Problem schon längst selbst erledigt, dann wären Dir nämlich die Zusammenhänge klar.
Gruß Klaus

Labor

Der Datenhaufen funktioniert aber! Es gibt eine Tabelle PA_Kunden und eine Messwerte.
Diese sind über PA (z.B. 123123-10) verbunden. Die Berichte enthalten mehrere Seiten und zum Schluss immer die Messwerte(schön kompakt einer Tabelle).
Die Tabelle Norm hat nur feste Rich-Texte und ist ungebunden.
Ist es denn nicht möglich in einem Bericht beim Laden zu sagen, wenn in einem Feld x steht
dann in einem ungebunden Feld einen Wert aus eine Tabelle zuschreiben. 

Dein Vorschlag #1 war nicht annähernd das was ich brauchte.

MzKlMu

Hallo,
ZitatDein Vorschlag #1 war nicht annähernd das was ich brauchte.
Ich halte jede Wette, dass mein Vorschlag funktioniert.
Du hast doch in beiden Tabelle ein Feld in der z.B. der Wert "PT100/3-L" steht. Du brauchst doch nur die Tabelle "Norm" in die Abfrage für den Bericht mit aufzunehmen und die Felder die den Inhalt "PT100/3-L" haben zu verknüpfen. Dann kannst Du den Text direkt anzeigen.

Wenn Du nicht klar kommst, erstelle eine kleine Beispieldb und lade die hier hoch.

PS:
Text als Feldname ist tabu, Text ist ein VBA Schlüsselwort und damit reserviert.
Gruß Klaus

Labor

Ich habe keine Abfrage für den Bericht! Es werden direkt die Daten aus den zwei Tabellen aus einem Formular heraus in eine Bericht per Button geschrieben.
Text106 oder Kombinationsfeld86 gehen wunderbar in VBA!
Eine kleine Beispieldatenbank geht nicht, viel zu komplex!
Gibt es keinen einfache Anweisung, wenn Feld 1 =x dann Wert aus Tabellen Z in Feld y schreiben?

MzKlMu

Hallo,
ZitatIch habe keine Abfrage für den Bericht!
Dann erstell doch eine und nimm die Tabelle mit der Norm dazu. Über die Felder mit dem "PT100/3-L" verknüpft.
Dann kannst Du wie bisher auch die Felder in den Bericht holen, auch das Feld mit dem Text.
Du wärest überrascht, wie einfach das ist.

Dazu kannst Du DLookUp (DomWert) verwenden.
Ungefähr so:
DomWert("Feldname";"Tabellenname";"Bedingung")Die Bedingung musst Du Dir erarbeiten.
Du kannst Dir auch mal in der Hilfe den Befehl ansehen.
Im VBA Editor DLookUp schreiben, dann F1 drücken.
Da gibt es auch viele Beispiele.

PS:
Noch mal zur Beispieldb. Dazu erstellt man eine kleine DB die Ausschließlich dieses Problem zeigt/hat. Mit wenigen beispielhaften anonymen Datensätzen. Das ist in 15 Minuten erledigt.
Gruß Klaus

Beaker s.a.

ZitatEine kleine Beispieldatenbank geht nicht, viel zu komplex!
So, so, zwei Tabellen und ein Bericht sind komplex; - was ist denn bei
dir die Steigerung davon?

Alles, was geschieht, geschieht. - Alles, was während seines Geschehens etwas anderes geschehen lässt, lässt etwas anderes geschehen. - Alles, was sich selbst im Zuge seines Geschehens erneut geschehen lässt, geschieht erneut. - Allerdings tut es das nicht unbedingt in chronologischer Reihenfolge.
(Douglas Adams, Mostly Harmless)

Labor

Hallo Klaus,

ich habe im ungebunden Textfeld im Bericht beim Steuerelementinhalt
=DomWert("Leiter";"TextNorm";"Messsystem=" & "Text106") eingeben. Es funktioniert!!
Genau das was ich wollte, in VBA hat es nicht geklappt.