Hi,
stelle die Datei, ggf. verfremdet, zu Verfügung, dann wird Dir bestimmt geholfen.
Gruß R
Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
Moderator: Moderatoren
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
Wenn Du hier angemeldet bist, kannst Du sie beim Erstellen eines Beitrags unten anhängen, wenn nicht, verwende einen Filehoster wie z.B. Dropbox und verlinke die Datei.
Gruß R
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 2
- Registriert: Sa, 12.03.2016 15:33
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
Hier einmal die Datei in abgespeckter und anonymisierter Form
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
Also,
habe mir die Datei angesehen, ja, du bist Neuling. Was soll in der Tabelle Bereichsinformationen stehen?
Du hast überhaupt keinen Bezug zum jeweiligen Kontakt vorgesehen. Wenn du dort also irgendwelche Werte eingibst, weißt du später nicht, wer sie gegeben hat.
Das wichtigste beim Erstellen einer Datenbank, ist es, Tabellen so anzulegen dass die Daten, die du erfassen möchtest, nur ein einziges mal vorkommen, man spricht von Normalisierung. Das Fragment beinhaltet aber nicht alle Daten die du erfassen willst, ich sehe z.B. nirgends die Standfläche, Standgebühr usw.
Ausserdem erschließt sich mir nicht, was du am Ende "Herausbekommen" möchtest, was du verwalten willst?
Summe aller Einnahmen?
Vergabe aller möglichen Standflächen?
Bitte beschreibe den Prozeß den du durchführen möchtest, so exakt wie möglich.
Dazu gehört auch das du wenigsten zwei drei Zeilen ausfüllst, wenn auch mit Fake-Daten.
Kann ein Kontakt z.B. mehrere Standflächen "anmieten", oder gibt es je Kontakt nur eine?
Ich sehe nicht, dass du ein einziges Makro benötigst, läßt sich vermutlich alles mit einer geeigneten Tabellenstruktur auf einem Formular lösen.
Gruß R
habe mir die Datei angesehen, ja, du bist Neuling. Was soll in der Tabelle Bereichsinformationen stehen?
Du hast überhaupt keinen Bezug zum jeweiligen Kontakt vorgesehen. Wenn du dort also irgendwelche Werte eingibst, weißt du später nicht, wer sie gegeben hat.
Das wichtigste beim Erstellen einer Datenbank, ist es, Tabellen so anzulegen dass die Daten, die du erfassen möchtest, nur ein einziges mal vorkommen, man spricht von Normalisierung. Das Fragment beinhaltet aber nicht alle Daten die du erfassen willst, ich sehe z.B. nirgends die Standfläche, Standgebühr usw.
Ausserdem erschließt sich mir nicht, was du am Ende "Herausbekommen" möchtest, was du verwalten willst?
Summe aller Einnahmen?
Vergabe aller möglichen Standflächen?
Bitte beschreibe den Prozeß den du durchführen möchtest, so exakt wie möglich.
Dazu gehört auch das du wenigsten zwei drei Zeilen ausfüllst, wenn auch mit Fake-Daten.
Kann ein Kontakt z.B. mehrere Standflächen "anmieten", oder gibt es je Kontakt nur eine?
Ich sehe nicht, dass du ein einziges Makro benötigst, läßt sich vermutlich alles mit einer geeigneten Tabellenstruktur auf einem Formular lösen.
Gruß R
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
-
- Beiträge: 2
- Registriert: Sa, 12.03.2016 15:33
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
Ich versuche mal so genau zu antworten wie möglich, fange aber hinten an
Es soll im Prinzip eine Art Kundendatenbank sein - bezogen auf ein Stadtfest - alle Kontakte, die damit zu tun haben.
Jeder Kontakt wird einem Bereich zugeordnet (Sponsoring, Gewerbe, Automeile etc.)
In der Tabelle Bereichsinformationen werden alle Infos zu allen Bereichen abgelegt (Standgebühr, standfläche, Strom etc.)
Dann wollte ich einzelne Formulare für die jeweiligen Bereiche als Eingabeoberfläche anlegen mit den spezifischen Bereichsinformationen
(siehe Bereichsinformationen_Sponsoring)
mit dem Formular neuer Kontakt sollen die neuen "Kundendaten" dann eingeben werden - wenn ich mit dem Dropdown den Bereich auswähle soll sich das
darauf bezogene Eingabeformular öffnen und die eingegebenen Daten dann auch diesem Kontakt zugeordnet werden.
Warum das alles - ich möchte eine Oberfläche zur Eingabe haben, die alles soweit abdeckt und zuordnet.
Herausbekommen möchte ich nachher unterschiedliche Dinge, Abfragen wer sich in welchem Bereich bereits angemeldet hat, Summe aller Standgelder Gewerbe Summe aller Einnahmen gesamt - alle angemeldeten in Automeile etc.
Ich hoffe das ist verständlich
LG
:F3K Total hat geschrieben:was du am Ende "Herausbekommen" möchtest, was du verwalten willst?
Es soll im Prinzip eine Art Kundendatenbank sein - bezogen auf ein Stadtfest - alle Kontakte, die damit zu tun haben.
Jeder Kontakt wird einem Bereich zugeordnet (Sponsoring, Gewerbe, Automeile etc.)
In der Tabelle Bereichsinformationen werden alle Infos zu allen Bereichen abgelegt (Standgebühr, standfläche, Strom etc.)
Dann wollte ich einzelne Formulare für die jeweiligen Bereiche als Eingabeoberfläche anlegen mit den spezifischen Bereichsinformationen
(siehe Bereichsinformationen_Sponsoring)
mit dem Formular neuer Kontakt sollen die neuen "Kundendaten" dann eingeben werden - wenn ich mit dem Dropdown den Bereich auswähle soll sich das
darauf bezogene Eingabeformular öffnen und die eingegebenen Daten dann auch diesem Kontakt zugeordnet werden.
Warum das alles - ich möchte eine Oberfläche zur Eingabe haben, die alles soweit abdeckt und zuordnet.
Herausbekommen möchte ich nachher unterschiedliche Dinge, Abfragen wer sich in welchem Bereich bereits angemeldet hat, Summe aller Standgelder Gewerbe Summe aller Einnahmen gesamt - alle angemeldeten in Automeile etc.
Ich hoffe das ist verständlich
LG
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
OK,
da du meine Fragen nicht beantwortest, hier exakt nur dass, was du wolltest, ein kurzes Makro.
Natürlich mußt du die FormulareGlücklich wirst du damit vermutlich nicht.
Gruß R
EDIT: Hatte (Event) in der ersten Code-Zeile vergessen, jetzt nachgetragen.
da du meine Fragen nicht beantwortest, hier exakt nur dass, was du wolltest, ein kurzes Makro.
Natürlich mußt du die Formulare
- Bereichsinformationen_Automeile
- Bereichsinformationen_Markt_am_Teich
Code: Alles auswählen
Sub Bereichsinformationen(Event)
olst = event.source.model
sBereich = olst.CurrentValue
oFormDocuments = ThisDatabaseDocument.FormDocuments
select case sBereich
case "Sponsoring"
oFormDocuments.getbyName("Bereichsinformationen_Sponsoring").open
case "Automeile"
oFormDocuments.getbyName("Bereichsinformationen_Automeile").open
case "Markt am Teich"
oFormDocuments.getbyName("Bereichsinformationen_Markt_am_Teich").open
end Select
End Sub
Gruß R
EDIT: Hatte (Event) in der ersten Code-Zeile vergessen, jetzt nachgetragen.
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO
Re: Listenfeld als Dropdown soll nach Auswahl ein neues Formular öffnen
Damit du etwas glücklicher wirst:
Mit diesem beiden Makros wird das entsprechende Formular geöffnet, die KundenID und die BereichsID übernommen.
Wenn du speichern drückst, werden die Bereichsdaten in die DB geschrieben, siehe Beispiel anbei.
Gruß R
Mit diesem beiden Makros wird das entsprechende Formular geöffnet, die KundenID und die BereichsID übernommen.
Wenn du speichern drückst, werden die Bereichsdaten in die DB geschrieben, siehe Beispiel anbei.
Code: Alles auswählen
Sub Bereichsinformationen(Event)
olst = event.source.model
olst.Commit
oFormKunde = olst.Parent
if oFormKunde.isnew then oFormKunde.insertRow else oFormKunde.updateRow
nKontakt_ID = oFormKunde.Columns.Kontakt_ID.getint()
nBereich = oFormKunde.Columns.Bereich.getint()
sBereich = olst.CurrentValue
oFormDocuments = ThisDatabaseDocument.FormDocuments
select case sBereich
case "Sponsoring"
oFormDocument = oFormDocuments.getbyName("Bereichsinformationen_Sponsoring").open
S_Insert_Values(oFormDocument,nKontakt_ID,nBereich)
case "Automeile"
oFormDocument = oFormDocuments.getbyName("Bereichsinformationen_Automeile").open
S_Insert_Values(oFormDocument,nKontakt_ID,nBereich)
case "Markt am Teich"
oFormDocument = oFormDocuments.getbyName("Bereichsinformationen_Markt_am_Teich").open
S_Insert_Values(oFormDocument,nKontakt_ID,nBereich)
end Select
End Sub
Sub S_Insert_Values(oFormDocument,nKontakt_ID,nBereich)
oForm = oFormDocument.DrawPage.Forms.MainForm
do
wait 10
loop until oForm.isloaded
oForm.moveToInsertRow
oForm.Columns.FK_ID_K.updateint(nKontakt_ID)
oForm.Columns.FK_ID_B.updateint(nBereich)
end sub
- Dateianhänge
-
- Datenbank_Forum_2016.odb
- (49.09 KiB) 92-mal heruntergeladen
- miniKasse MMove 1.0.6 Base Videotutorial
- Windows 10: AOO, LO Linux Mint: AOO, LO