Neuigkeiten:

Ist euer Problem gelöst, dann bitte den Knopf "Thema gelöst" drücken!

Mobiles Hauptmenü

Tabellen verknüpfen für Unterbericht

Begonnen von Biersoft, März 10, 2015, 17:24:19

⏪ vorheriges - nächstes ⏩

Biersoft

Hallo an alle Youngster,
als EDV-Dinosaurier hätte ich nie gedacht, im zarten Alter von 68 noch Probleme mit Access 2010 zu bekommen!
Aber ich weiss nicht mehr weiter und bitte Euch um Unterstützung.
In einem Bericht mit Unterberichten geht die Verbindung von zwei Tabellen nicht.
In der Entwurfsansicht der Tabellen befindet sich jeweils eine Spalte "company_id" mit der Datenart "Zahl".
In der Entwurfsansicht des Berichtes mit den Eigenschaften des Unterberichts sind bei der Verknüpfung die Datenarten "KurzText" (Haupttab.) und "Wert" (abh. Tab.).
Daher wird die Verknüpfung wegen ungleicher Datenart abgewiesen.
Meine Frage nun: WAS MACHE ICH HIER FALSCH ???
Ich hoffe, Ihr könnt mir helfen...

DF6GL

Hallo,

eigentlich sollte ich gar nicht antworten... ;)

ZitatWAS MACHE ICH HIER FALSCH

vermutlich benutzt Du nicht die richtigen Felder (Schlüsselfelder) für die Verknüpfung 

Zitatmit den Eigenschaften des Unterberichts sind bei der Verknüpfung die Datenarten "KurzText" (Haupttab.) und "Wert" (abh. Tab.).

heißt das, in den Verknüpfungs-Eigenschaften des Unterbericht-Steuerelementes ("Verknüpfen von/nach") stehen die Feldnamen "KurzText" und "Wert" ?

Wenn so, ist das natürlich nicht ganz richtig...  Dort sollten die Namen der Schlüsselfelder ("company_id") aus den Tabellen stehen.

Biersoft

Hallo, danke schön für die schnelle Antwort, aber warum erst nicht?
Mit "KurzText" und "Wert" meinte ich wie beschrieben nicht die Feldnamen, sondern den Datentyp.
Dieser steht in den entspr. Comboboxen neben dem Feldnamen in dem Feldverknüpfungs-Assistenzfenster.
Beide Felder sind übrigens Primary-Keys.

MaggieMay

Hi,

dann wirst du wohl doch die falschen Datenfelder dort angegeben haben oder die Aussage stimmt nicht:
ZitatIn der Entwurfsansicht der Tabellen befindet sich jeweils eine Spalte "company_id" mit der Datenart "Zahl".
Freundliche Grüße
MaggieMay

Biersoft

Hallo und danke für die weitere Antwort.
Aber Leute, ich bin seit 1971 Programmierer und weiß sehr genau, was ich schreibe.
Also die Spaltennamen in beiden Tabellen sind "company_id" (Primärkey) und der Datentyp ist "Zahl" (bei den Tabellen) und "KurzText" sowie "Wert" bei der Verknüpfung im Bericht.

MzKlMu

Hallo,
für Verknüpfungen sind gleiche Datentypen notwendig.
ZitatBeide Felder sind übrigens Primary-Keys.
wenn eine Beziehung über 2 PS gemacht wird, ergibt sich eine 1:1 Beziehung ist das gewollt ?

Welche Beziehung Du jetzt wohin hast, ist immer noch nicht klar.

Poste mal ein Bild des Beziehungsfensters.

Gruß Klaus

MaggieMay

Hi,

kann es sein, dass nicht die Tabellen, sondern Abfragen als Datenherkunft des Berichts eingesetzt werden?
Freundliche Grüße
MaggieMay

DF6GL

Hallo,


Zitat..aber warum erst nicht?

Weil Du nur die Youngster angeschrieben hast..  ;D


Ansonsten kannst Du auch die DB (oder eine entspr. Beispiel-DB) hier hochladen, vorher komprimiert/repariert und gezippt.

Biersoft

Hallo DF6GL,
ich glaubte, dass alle, die in Rente sind wohl nichts mehr mit EDV am Hut haben. Hihi.
Leider kann ich nicht die DB hochladen, zuviel Betriebsgeheimnisse.
Oder mal die NSA fragen?

Hallo MaggieMay,
laut MS sind Tabellen und Abfragen erlaubt.

Hallo MzKlMu,
das ist genau mein Problem.
Im Verknüpfungs-Assistenten ist das Feld "company_id" der Haupttabelle vom Typ "KurzText",
das Feld "company_id" der abhängigen Tabelle jedoch "Wert", daher geht es nicht.
In den Tabellen, die den Abfragen zu grunde liegen, sind diese Felder mit dem Typ "Zahl"
aufgeführt!
Aber für alle:
Hier der SQL-Code für die beiden Abfragen:

1. Hauptbericht:
SELECT rep_company_visitorreport_2015.company_name, rep_company_visitorreport_2015.company_number, rep_company_visitorreport_2015.company_houseaddress1, rep_company_visitorreport_2015.company_housezipcode, rep_company_visitorreport_2015.company_housecity, rep_company_visitorreport_2015.company_housestreet, rep_company_visitorreport_2015.Email, rep_company_visitorreport_2015.Internet, rep_company_visitorreport_2015.Fax, rep_company_visitorreport_2015.Telefon, rep_company_visitorreport_2015.kategorie, rep_company_visitorreport_2015.status, rep_company_visitorreport_2015.entwicklung, rep_company_visitorreport_2015.fertigung, rep_company_visitorreport_2015.instandhaltung, rep_company_visitorreport_2015.projekt, rep_company_visitorreport_2015.serie, rep_company_visitorreport_2015.konzernzg, rep_company_visitorreport_2015.produziert, rep_company_visitorreport_2015.anzahlma, company.company_id
FROM rep_company_visitorreport_2015 INNER JOIN company ON rep_company_visitorreport_2015.company_name = company.company_name;

2. Unterbericht:
SELECT DISTINCT representations_choice.sc_name, representations_choice.ad, representations_choice.id, rep_sales_representation_2015.representation_buyercompanyid AS company_id, rep_sales_representation_2015.company_buyer, rep_sales_representation_2015.representation_buyernumber, rep_sales_representation_2015.us15, rep_sales_representation_2015.plan15, rep_sales_representation_2015.us14, rep_sales_representation_2015.us13, rep_sales_representation_2015.representation_potential, rep_sales_representation_2015.Wettbewerber
FROM representations_choice LEFT JOIN rep_sales_representation_2015 ON representations_choice.sc_name = rep_sales_representation_2015.company_name
ORDER BY representations_choice.sc_name;

Ich hoffe, so wird es deutlicher.

Viele Grüße aus dem schönen Bremen an den Bodensee bzw. wo immer Ihr wohnt.
Jürgen, Biersoft (=>Biermann Software)

MaggieMay

#9
Zitataut MS sind Tabellen und Abfragen erlaubt.
Darum geht es nicht, es könnte doch sein, dass die Felder durch die Abfrage so manipuliert werden, dass sie ihren ursprünglichen Datentyp verlieren. Anders ist das doch wohl kaum noch zu erklären.

Was hat es bspw. hiermit auf sich:
rep_sales_representation_2015.representation_buye rcompanyid AS company_id
Und was steckt hinter rep_company_visitorreport_2015und rep_sales_representation_2015?
Sind das alles Tabellen in den Abfragen?

In welchen Tabellen hast du überprüft, ob company_id numerisch ist?
Freundliche Grüße
MaggieMay

DF6GL

Hallo,

ich würde noch den Datentyp von "Company_ID" in Tabelle "Company" prüfen...

Wobei mir die  Relationen über die "Company-Namen" sehr suspekt erscheinen.


PS:
ZitatIch glaubte, dass alle, die in Rente sind wohl nichts mehr mit EDV am Hut haben

das ist Irrglauben... ;D

Biersoft

Hallo liebe Antworter,
das ganze bleibt für mich schwierig.
Die in den SQL-Zeilen angesprochenen Tabellen kommen verknüpft aus einer MS-SQL-Server-DB und dort sind die benötigten Felder als "uniqueidentifier" definiert.
Also muss Access auf diese Tabellen zugreifen.
Tja, aber...
Das ganze ist auch noch erheblich komplexer, da der Bericht aus einem Programm mit den Daten ("company_id") einer ausgewählten Firma aufgerufen wird. Das klappt. Auch in einem weiteren Unterbericht wird eine Verknüpfung mit "company_id" <---> "company_id" gemacht, was auch klappt.
Da ist im Verknüpfungsfenster beidesmal der Datentyp "KurzText".
DF6GL: Die Verknüpfung über die Namen war eine Verzweifungstat.
Ich werde jetzt das Handtuch schmeissen (mal sehen wie weit).
Ich danke Euch aber für Eure Anteilnahme.
Viele Grüße aus Bremen



el_gomero

Hallo,

hast du vielleicht Nachschlagefelder verwendet? Das führt oft zu solchen Verwirrungen.
Gruß
Jürgen


Hilfe nach bestem Wissen, ohne Anspruch auf Richtigkeit und Vollständigkeit.
*feedback erwünscht*
Bitte Tipps lesen