PDA

Vollständige Version anzeigen : Möchte Feld aus einer anderer TB in Formular einfügen, aber ohne UF


Sonne im Herz
10.08.2001, 12:14
Hab eine TB und das dazu gehörige Formular. Möchte aus einer anderen TB, geht auch aus einer Abfrage, ein weiteres Feld einfügen.
wenn ich das mache kommt immer eine Fehlermeldung im neuen Feld (#Name?).
Ich kann leider kein Unterformular einbauen, aus verschiedenen Gründen, wie kann ich dann ein anderes feld in mein Formular einbinden.
Ich sollte nämlich noch ein Feld aus einer weiteren TB einfügen.

Geht so was überhaupt??

Gruß Sonne

Mel
10.08.2001, 13:06
Hallo Sonne,

wenn Du Dein Formular auf einer Abfrage aus Deinen beiden Tabelle basieren läßt, sollte es eigentlich gehen!

Gruß,
Mel

Sonne im Herz
10.08.2001, 19:54
Sollte Mel, sollte

Aber in dem Feld aus der 2. TB steht nur #Name?

In der Abfrage sehe ich die Daten aus der 1. und 2. Tab

Hab ein Feld in mein Formular eingebunden und das Steuerelement auf ein Feld aus der Abfrage gesetzt.

Will blos nicht

A.S.
10.08.2001, 19:59
Hallo SiH,

kann es sein, das die .Name-Eigenschaft des Steuerelementes nicht eindeutig im Formular ist? Setze einfach mal 'txt' vor den jetzt bestehenden Bezeichner.

HTH

Arno

Morli
10.08.2001, 20:01
Hi Sonne,

als #Name deutet normalerweise darauf hin, das hier kein eindeutiger Name vorliegt. Überprüfe mal Deine Abfrage, ob alle Felder einen eindeutigen Namen haben, wenn nein dann korrigiere das mal.

Gruß

Rainer ;)

Sonne im Herz
10.08.2001, 20:35
Habs versucht.

habe ein Feld Z_Nr, Firma aus TB 1
und Firmen_Nr, Z_Nr, Firma aus TB 2
ich brauche in meinem Formular aus TB1 Firma und Z_Nr und aus TB2 Firmen_Nr


Moment, von vorne.

Habe eine Z_Nr (eigene Artikel-Nr.) und für fast alle Kunden diese Nr. Aber für manche Kunden gibt es eine Eigene Nummer, unter der unser Artikel beim Kunden angelegt ist.
Jetzt will ich wenn ich den Kunden angebe, das in einem 2. Feld die Kundeneigene Artikelnummer erscheint.

Deshalb der Aufstand.

Sonne im Herz

A.S.
10.08.2001, 20:47
Hallo SiH,

das ist ein klassischer Design-Fehler. Die eigenen Keys müssen immer führend sein. Die Keys welche Deinen Produkten von den Kunden zugeordnet werden, dürfen für Dich nur eine Zusatzinformation und evtl. Suchkriterium bei einer Kundenanfrage sein. Welchen Key der Kunde für Dein Produkt vergibt ist dabei in einer zusätzlichen M:N Tabelle zwischen Kunden und Artikeltabelle zu speichern, in welcher steht, welcher Kunde zu welcher internen Artikelnummer welche eigene Artikelnummer meldet.

Man darf die InHouse-Applikationen nicht von fremden Daten abhängig machen, die dann auch nicht für alle Kunden vorliegen.

Gruß

Arno

Sonne im Herz
11.08.2001, 07:07
Guten Morgen Arno

es ist kein klassischer Designer-Fehler.
Meine DB ist nach unseren Artikel-Nr. geführt. Index ist auf Artikel-Nr. gesetzt, Kunde ist frei. Wenn ich das alte Prog. (D-Base III) ansehe, würgt es mich. Denn der Chef muß immer noch von Hand die Artikel-Nr. des Kunden über unsere schreiben. Nach unsere Nummer wird im Haus gesucht und gefertigt, aber der Kunde darf diese Nummer nicht wissen.
Zur Erklärung, wir stellen Normfedern her, so wie fast 350 weitere Betriebe in Deutschland, wenn nun ein Kunde eine Feder bestellt, und gibt dieser eine Nummer, weiß er unter umständen nicht, das sich es um diese spezielle Feder rein zufällig um eine genormte Feder handelt, wenn er das wüßte, wäre ein erhöhter Preis wegen der Fertigung nicht mehr gerechtfertigt.
Betriebsstrategische Aktion.

Achja, ich habe die TB mit den Beziehungen zwischen unseren Nummern, dem Kunden und dessen Nummer.

z.B. Unsere Nr. 1244
Kunde 1 Nr. 1244
Kunde 2 Nr. E133-3301
Kunde 3 Nr. 990/34/5-7
usw.

Also für einen Artikel, z.T. bis zu 50 Kundeneigene Nummern.

Gruß
Sonne im Herz

Sonne im Herz
12.08.2001, 06:13
Habe eine kleine Test.mdb (200kb) zum ausprobieren, wie man es machen kann.

A.S.
12.08.2001, 09:40
Hallo SiH,

mit klassischem Design-Fehler meine ich, das zugelassen wird das Eure Artikelnummer mit der des Kunden überschrieben wird.

Es muß so gestaltet sein, das von der Kundeneigenen Artikelnummer auf eure interne Artikelnummer rückgeschlossen werden kann. Dazu nutzt man N:M-Tabellen. Aufbau in dem Fall dürfte sein:

1. Feld -> interne Artikelnummer; Indiziert mit möglichen Duplikaten
2. Feld -> Kundennummer; Indiziert mit möglichen Duplikaten
3. Feld -> Kundeneigene Artikelnummer; Indiziert mit möglichen Duplikaten

Alle 3 Felder zusammen ergeben einen eindeutigen Schlüssel (PrimaryKey).

Wenn Du möchtest, folge einmal meinem Profil und rufe mich an.

Gruß

Arno

A.S.
12.08.2001, 10:00
Hallo SiH,

stopp, Kommando zurück ;)

Wer lesen kann ist klar im Vorteil ;) Du hast die Zwischentabelle ja bereits.

Um nun die kundenspezifische Artikelnummer in einem Formular anzuzeigen (erfassen mußt Du sie natürlich woanders) erstellst Du ein ungebundenes Textfeld, dem Du als Steuerelementinhalt etwas wie das hier zuweist:

=Wenn(IstNull(DomWert("[KundenartikelNr]";"tblKundenartikelnummern";"[Kundennummer]= " & [Kundennummer] & " AND [Artikelnummer] = " & [Artikelnummer]);[Artikelnummer];DomWert("[KundenartikelNr]";"tblKundenartikelnummern";"[Kundennummer]= " & [Kundennummer] & " AND [Artikelnummer] = " & [Artikelnummer]))

Du mußt mein Beispiel natürlich auf Deinen eigenen Namensraum anpassen.

Dadurch wird in der Zwischentabelle nachgesehen ob für den Kunden und euren internen Artikel eine externe Artikelnummer existiert. Wenn nicht, wird Eure Artikelnummer angezeigt ansonsten die Kundenartikelnummer.

HTH & Gruß

Arno....

.... der schon wieder auf der Arbeit sitzt und eine Analyse aufbereitet :(