Autor Beitrag
Heiko
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: So 09.03.08 11:06 
Hallo,

da ich momentan keine Zeit habe, für meine Aufgabe eine extra Programm zu erstellen, wollte ich es mit MS Access machen. Und zware habe ich eine Tabelle mit Mitgliedsnamen (Primäre ID, Name, Vorname, Geburtstag etc.) und eine Beitragsspalte (Beitrags-ID, MitgliedsID, Beitrag, Monat). Nun habe ich für das hinzufügen eines Mitglieds ein Formular erstellt, dass auch einen neuen Benutzer hinzufügt, wie es soll (außer das ich noch keine Variante gefunden habe, wie man einen Button zum absenden einbinden kann [für welche,k die sowas brauchen und es nicht per Enter-Taste machen]).

Nun zum eigentlichen Problem: der Bezahlung eines Beitrags. Dazu möchte ich auch ein Formular haben. Und zwar sollte man da den Namen eingeben können und den Beitrag und das in die Beitrags-Tabelle einfügen. Den Namen soll er aber aus der ersten Tabelle beziehen. Und zwar so, dass man selber nicht in Berührung mit der Mitglieds-ID kommt. Sprich man hat eine ComboBox, wo alle Nachnamen drin stehen. Wenn man dann zum nächsten Feld geht, soll er mir alle Vornamen anbieten, die diesen Nachnamen besitzten. Wenn man das auch gemacht hat, dürfte man die eindeutige Mitglieds-ID haben.
Wie mache ich das bis hierer? Irgendwie muss es per Abhängigkeiten gehen (hab jetzt ne 1:1 Abhängigkeit von Id zu ID eingebaut, aber die bringt mir ja scheinbar bisher nichts).


besten Dank im voraus
Heiko
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Di 11.03.08 11:19 
In deiner Beitrags-Tabelle musst Du für die Spalte MitgliedsID als Typ "Nachschlage-Assistent" nehmen. Dann kannst du auswählen, aus welcher Tabelle du die Namen nehmen willst.

Evtl. musst du dann noch dein Formular für die Beiträge nochmal neu anlegen damit Access es übernimmt, oder anpassen.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Fr 14.03.08 17:13 
Danke, an die hatte ich dem moment nicht mehr gedacht.

Allerdings habe ich ein problem. Und zwar wählt er Nachname+Vorname aus, was soweit klappt. Allerdings zeigt er mir immer nur den Nachnamen an, wobei mir Nachname, Vorname lieber wäre. Gibts da eine Möglichkeit?
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Fr 14.03.08 17:24 
Dann hast Du bestimmt beim Nachschlageassistenten ein Feld vergessen. Denn wenn ich die Spalten 'id','name','vorname' angebe, schlüsselspalte ausblende, zeigt er mir brav Name,Vorname an.

EDIT: Habe dein Problem falsch verstanden, Du meinst die Anzeige nach der Auswahl.........mal nachdenken..........


....nachgedacht!

Mach eine Abfrage. Spalte 1 'id' und 2.Spalte mit 'name: [name]+","+[vorname]'. Diese Abfrage nimmst du für den Nachschlageassi und dann müsste es klappen.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Fr 14.03.08 18:42 
Wohin? Denn ich sehe leider nicht, wo das einzutragen ist. Bei Datensatzherkunft steht
ausblenden Quelltext
1:
SELECT [Tabelle1].[ID], [Tabelle1].[Nachname], [Tabelle1].[Vorname] FROM Tabelle1 ORDER BY [Nachname], [Vorname];					

Aber hier ist nicht zu erkennen, welches Feld er nimmt. Ich habs gerade probiert, indem ich "Gebundene Spalte" von 0 bzw. 2 geändert habe (Access hatte 1 angelegt). Bei 2 mag er die Namen nicht mehr und bei 0 sehe ich keinen Unterschied zu 1.
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Fr 14.03.08 21:47 
Als SQL sieht das so aus:

SELECT name.id, [name] + "," + [vorname] AS neuername FROM tabelle;

Ich mache sowas immer in der Entwurfsansicht. Da muss ich mich nicht mit SQL rumquälen. :D
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Sa 15.03.08 13:03 
Mhm, dann ist die Auswahlliste nimmer so schön ;). Es funzt wenigstens.

Allerdings ist mir gerade eine bessere Idee gekommen ;). Wenn ich noch eine 2. Spalte bei den Beiträgen einfüge, also den Vornamen, dass er dann nur den Vornamen anzeigt. Allerdings bekomme ich die Abfrage dafür nicht hin :(:

ausblenden Quelltext
1:
SELECT Tabelle1.Vorname FROM Tabelle1 WHERE Tabelle1.ID = Tabelle2.Nachname;					
Miri
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
Beiträge: 657


Delphi 3 Prof., Delphi 2005 PE
BeitragVerfasst: Di 18.03.08 08:59 
Probiers mal so:
ausblenden Quelltext
1:
SELECT Tabelle1.Vorname FROM Tabelle1, Tabelle2 WHERE Tabelle1.ID = Tabelle2.Nachname;					

Gruß,
Miri

_________________
Anonymes Eckenkind
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Do 20.03.08 15:15 
Funktioniert leider auch nicht. Muss ich irgendeine Beziehung noch schaffen?
wunsiedler
ontopic starontopic starhalf ontopic starofftopic starofftopic starofftopic starofftopic starofftopic star
Beiträge: 506
Erhaltene Danke: 4

Win7

BeitragVerfasst: Fr 21.03.08 13:12 
Das Doofe dran wird sein, dass du über die MitgliedsID ja schon eine Beziehung hast. Mit dem Vornamen hättest Du dann eine 2. Ich denke nicht, dass das funtioniert.

Das ist meiner Meinung nach der Nachteil, wenn man gebundene Tabellen und Formulare verwendet. Ich würde das ungebunden machen, sprich selber programmieren.
Heiko Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3169
Erhaltene Danke: 11



BeitragVerfasst: Fr 21.03.08 17:40 
War mein erster Versuch, aber ich habe leider nicht mehr die Zeit um solche projekte einzuschieben, vor allem da man an soetwas auch mal 1-2 Monate arbeiotet, wenn man es vernünftig macht ;-).