Office Forum
www.Office-Loesung.de
Access :: Excel :: Outlook :: PowerPoint :: Word :: Office :: Wieder Online ---> provisorisches Office Forum <-
ComboBox mit der Möglichkeit eine Abfrage auszuwählen
Gehe zu Seite 1, 2  Weiter
zurück: Kombinationsfeld weiter: Algorithmus hinter Formular-Oberfläche Unbeantwortete Beiträge anzeigen
Neues Thema eröffnen   Neue Antwort erstellen     Status: Rückfrage Facebook-Likes Diese Seite Freunden empfehlen
Zu Browser-Favoriten hinzufügen
Autor Nachricht
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Okt 2007, 13:02
Rufname:

ComboBox mit der Möglichkeit eine Abfrage auszuwählen - ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hallo,

vielleicht stehe ich ja auf meiner eigenen Leitung, aber ich habe ein Problem für das ich noch keine Lösung gefunden habe.
Ich arbeite mit Access 2000 und möchte in einem Formular einen ComboBox einbauen, die mir alle vorhandenen Abfragen der DB auflistet und die Möglichkeit bietet, eine aufgelistete Abfrage per Mausklick zu starten.

Im Moment gibt es für jede Abfrage einen Button zum starten.
Jedoch wird bei vielen vorhandenen Abfragen durch die große Anzahl an Buttons
das Ganze etwas unübersichtlich.

Vielleicht kann mir da jemand weiterhelfen.

Danke im Voraus und Greetz
hinterman
stpimi
Moderator Access


Verfasst am:
19. Okt 2007, 13:57
Rufname:
Wohnort: Graz


AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Servus!

Ganz grundsätzlich: Du solltest niemals die Abfrage für den Benutzer öffnen! Gefahr für die Daten durch unbeabsichtigte/böswillige Änderung!!

Verwende Formulare z.B. in Datenblattansicht dafür.

Der einfachste Ansatz ist dann, in einer Tabelle die technischen Formularnamen und eine sprechende Benutzerbezeichnung zu verwalten und das Kombifeld daraus seine Daten beziehen lassen.

Klicke dann mit der rechten Maustaste auf DeinKombifeld und wähle Eigenschaften. Im Register Ereignis wählst Du bei "Nach Aktualisierung" im DropDown den Eintrag „Ereignisprozedur“ und klickst auf die 3 Punkte rechts neben dem Eingabefeld.
Du landest im Code-Editor. Dort ist schon der Prozedurrumpf vorgegeben:
Code:
Private Sub Kombifeldname_AfterUpdate()

End Sub
Dazwischen schreibst Du den folgenden Code:
Code:
    DoCmd.OpenForm Me!Kombifeldname
Dazu muss die gebundene Spalte des Kombifeldes die technischen Formularnamen enthalten.
_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Okt 2007, 15:22
Rufname:

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hallo Michael,

erst mal vielen Dank für die prompte Antwort.

Ich habe mich vielleicht etwas missverständlich ausgedrückt.
Natürlich hat der Benutzer keine Möglichkeit in die Abfrage einzugreifen.
Im Moment existiert innerhalb eines Formulars ein Registersteuerelement
mit vielen Buttons, die der Benutzer anklicken kann. Je nach Button wird
eine andere Abfrage ausgeführt und der Benutzer bekommt das Ergebnis
der ausgewählten Abfrage in schreibgeschützter Datenblattansicht.

Wie kann ich diese Menge an Buttons sozusagen durch ein Auswahlmenü
ersetzen?

Lg
hinterman
Willi Wipp
Moderator


Verfasst am:
19. Okt 2007, 15:26
Rufname:
Wohnort: Raum Wiesbaden

Re: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - Re: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hi hinterman,

ohne Deinen Code hinter den aktuellen Befehlsschaltflaechen zu kennen wird das schwer,
da zu viele Varianten moeglich/denkbar sind Wink
Gib mal einen Beispielhaften Code. Wie waere es z.B. mit einem passenden Kombinationsfeld.
Wenn Du eine Tabelle dafuer verwendest, dann ist es einfach zu pflegen (erweitern).

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Okt 2007, 15:48
Rufname:


AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hallo Willi Wipp,

Hier ein Beispielcode für eine der Befehlsschaltflächen:
Code:
Private Sub Gewerbezurück2007_Click()
On Error GoTo Err_Gewerbezurück2007_Click
    Dim stDocName As String

    stDocName = "P-Abfrage/EV-Nummern07/Gewerbe-Zurückgezogen(Datum)"
    DoCmd.OpenQuery stDocName, acNormal, acEdit
Exit_Gewerbezurück2007_Click:
    Exit Sub
Err_Gewerbezurück2007_Click:
    MsgBox Err.Description
    Resume Exit_Gewerbezurück2007_Click
End Sub
Alle anderen Buttons sind analog aufgebaut.

Ich hoffe, ich verursache nicht zuviel Stress Smile
und jetzt mach ich erstmal Feierabend.
Ein schönes WE wünsche ich noch.

Lg
hinterman
Willi Wipp
Moderator


Verfasst am:
19. Okt 2007, 15:57
Rufname:
Wohnort: Raum Wiesbaden

Re: ComboBox mit der Möglichkeit eine Abfrage ... (II) - Re: ComboBox mit der Möglichkeit eine Abfrage ... (II)

Nach oben
       Version: Office 2k (2000)

Hi hinterman,

dann sollte doch das Beispiel von stpimi passen. Ersetze einfach den OpenForm-Teil durch Deinen OpenQueryTeil.
Statt stDocName verwendest Du den Namen des Kombinationsfeldes.

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
stpimi
Moderator Access


Verfasst am:
19. Okt 2007, 16:45
Rufname:
Wohnort: Graz

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Servus!

Dein Buttonname läßt in mir Zweifel am Aufbau der Datenbank aufkeimen. Hast Du denn für jedes Jahr eine eigene Abfrage?

Da sollte doch eine Abfrage reichen, die das Jahr aus dem Formular entnimmt; das Kriterium lautet dann:
Code:
Forms!Formularname!Feldname

_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
19. Okt 2007, 18:09
Rufname:

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hallo Michael,

ich denke, dass das Problem daher kommt, dass ich für bestimmte Daten
jedes Jahr eine neue Tabelle anlegen muss.
In dieser Tabelle werden eingereichte Bauvorhaben erfasst (Du merkst schon, dass ich in einer Baubehörde arbeite).

Diese Tabelle, die ich jedes Jahr neu anlegen muss, erfasst das Bauvorhaben
und vergibt eine laufende Nummer (kein Autowert!).
Das heißt, ein Bauvorhaben muss 2 eindeutige Felder haben – nämlich
EV-Nr. und EV-Jahr und jedes Jahr muss mit der 1 als laufende Nummer neu beginnen.

Das heißt, eine Baueingabe ist exakt durch die vergebene laufende EV-Nr. und das Eingabejahr (EV-Jahr) definiert.

Ich sehe (zumindest mit meinen beschränkten Kenntnissen) auch
keine Möglichkeit diese Tabellen miteinander zu verknüpfen.

Ich habe mehrere Abfragen, die zwar alle gleich strukturiert sind, aber sich jedes Jahr auf eine neue Tabelle als Datenherkunft beziehen.
Deshalb die vielen Buttons, die ich lieber durch ein Auswahlmenü aufrufen würde.

Wie gesagt, ich bin kein Datenbank-Crack sondern Bauing. und was Datenbanken angeht ein reiner Autodidakt.

Aber vielleicht gibt’s ja doch ne Möglichkeit, wie ich das Ganze in durch ein Auswahlmenü steuern könnte.

Vielen Dank für die Bemühungen, mir bei meinem Problem behilflich zu sein.

Lg.
hinterman
stpimi
Moderator Access


Verfasst am:
19. Okt 2007, 18:33
Rufname:
Wohnort: Graz

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Servus!

o.k. - so sah das für mich aus.
Es gehören auf jeden Fall alle Bauvorhaben in eine einzige Tabelle. Das Jahr ist dort ein Schlüsselfeld und die Problematik mit der mit 1 beginnenden Nummer in jedem Jahr sollte ja, wenn Du keinen Autowert verwendest, auch in einer einzigen Tabelle lösen. Vermutlich verwendest Du ein DMax() über die Nummer, die du immer um 1 erhöhst. IN dieser Funktion kannst DU als Bedingung immer das aktuelle Jahr verwenden. Dann brauchst Du auch nicht unzählige Abfragen.

_________________
Lg, Michael

Dein Feedback hilft auch anderen - vergiß es nicht!
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
22. Okt 2007, 11:52
Rufname:

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

hinterman am 19. Okt 2007 um 18:51 hat folgendes geschrieben:
Hallo Michael,

danke für den Tip.
Ich werde nächste Woche, wenn ich wieder im Büro bin, versuchen, dies zu realisieren.

Lg und ein schönes WE.
hinterman

Hallo Michael,

zumindest sind jetzt alle EV-Nr. in einer Tabelle.

Wie würde jetzt der Code lauten, wenn ich per Mausklick
das entsprechende Eingabeformular öffne und automatisch
eine laufende Nummer vergeben wird, die im darauf folgendem Jahr
wieder mit 1 beginnt?

vielen Dank für die Hilfe

lg
hinterman
Willi Wipp
Moderator


Verfasst am:
22. Okt 2007, 12:09
Rufname:
Wohnort: Raum Wiesbaden

Re: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - Re: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hi hinterman,

bei einer fortlaufenden Nummer hilft Dir vielleicht das Thema Problem bei der Autowert-Vergabe (FnlGet_NextFreeNr)
Der Aufruf koennte in Deinem Fall dann z.B. in dem Formular-Ereignis Vor Aktualisierung (BeforeUpdate) erfolgen
Code:
Private Sub Form_BeforeUpdate(Cancel As Integer)
    If Nz(Me!DeineNummer, 0) = 0 Then
        Me!DeineNummer = FnlGet_NextFreeNr("DeineNummer", _
                                           "tblDeineTabelle", _
                                           "DeinJahr = " & Me!DeinJahr, True)
' bzw.
'                                          "Year(DeinDatum) = " & _
'                                                    Year(Me!DeinDatum), True)
    End If
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
22. Okt 2007, 14:00
Rufname:

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hallo Willi Wipp,

danke für den Tip,
hat leider nicht so geklappt - wahrscheinlich stelle ich mich einfach zu ungeschickt
an.

Der Code, den ich bis jetzt für die Vergabe einer laufenden Nummer habe lautet:
Code:
Private Sub EV_Nummern_Eingabe_Click()
    Dim LetzterSatz, NeuerSatz As Integer
    Dim db As DAO.Database
    Dim rs As DAO.Recordset
   
    Set db = CurrentDb
    Set rs = db.OpenRecordset("EV-Nummern", dbOpenDynaset)
    rs.MoveLast
    LetzterSatz = rs![EV-Nummer]
    NeuerSatz = LetzterSatz + 1
    rs.AddNew
    rs![EV-Nummer] = NeuerSatz
    rs.Update
    Beep
    MsgBox "Neuer Datensatz wurde angelegt !" & Chr(13) & Chr(13) & _
           "Klicken Sie auf OK um Ihre Daten einzugeben !"
    DoCmd.OpenForm "EV-Nummern", , , "[EV-Nummer] = " & Str(NeuerSatz)
    Forms![EV-Nummern].[BV-Nummer]
End Sub
Die Vergabe der lfdNr. funktioniert damit schon mal.

Es fehlt mir nun noch eine Anweisung, dass eben jedes Jahr mit der lfdNr 1
beginnen soll.

Da habe ich grosse Schwierigkeiten dies zu realisieren.

Gibt es die Möglichkeit, den oben stehenden Code dementsprechend zu erweitern?

Besten Dank für alles.

Greetz
hinterman
Willi Wipp
Moderator


Verfasst am:
22. Okt 2007, 14:44
Rufname:
Wohnort: Raum Wiesbaden

Re: ComboBox mit der Möglichkeit eine Abfrage auszuw...(II) - Re: ComboBox mit der Möglichkeit eine Abfrage auszuw...(II)

Nach oben
       Version: Office 2k (2000)

Hi hinterman,

Dein Code weist einige Schwachstellen auf.
Z.B. kann man nicht immer davon ausgehen das der letzte physikalische DS in einer Tabelle
auch wirklich der DS mit der hoechsten Nummer ist.
Die Deklaration von Variablen wie Du sie verwendets fuehrt dazu das LetzterSatz bei Dir vom Typ Variant ist.
Auch die Verwendung von Sonderzeichen (-) in Objektnamen solltest Du Dir tunlichst abgewoehnen Wink
Gehe ich Recht in der Annahme das Du eine extra Tabelle nur fuer die EV-Nummer fuehrst?
Was passiert (bzw. soll passieren) in der Zeile Forms![EV-Nummern].[BV-Nummer]
Wie heissen die Ziel-Tabelle und das Jahres- bzw. Datums-Feld darin?

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
hinterman
Im Profil kannst Du frei den Rang ändern


Verfasst am:
22. Okt 2007, 15:33
Rufname:

AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen - AW: ComboBox mit der Möglichkeit eine Abfrage auszuwählen

Nach oben
       Version: Office 2k (2000)

Hallo Willi Wipp,

der Code ist mittlerweile etwa 10 Jahre alt und wurde noch unter Access 2.0 von einem Kollegen erstellt.
Bis jetzt gab´s keine Probleme mit der lfdNr. (= EV-Nummer).
Ich bin mir nicht sicher, aber könnte es ggf. daran liegen, weil die Tabelle „EV-Nummern“ keinerlei Autowert-Feld besitzt?

Das mit den Sonderzeichen ist ne Altlast, die ich bereinigen möchte.
Generell möchte ich die gesamte Datenbank bereinigen, da sich mit den Jahren sehr viel „Schrott“ angesammelt hat.

„EV-Nummern“ ist in der Tat eine eigene Tabelle (=Stammdaten zu jedem Bauvorhaben) wobei natürlich noch mehr Felder darin enthalten sind zB. auch das Feld „BV-Nummer“, das durch „Forms![EV-Nummern].[BV-Nummer]“ fokusiert wird, da es das erste Feld ist, in das der Sachbearbeiter Daten eingeben muss.

Die Zieltabelle heißt „EV-Nummern“ – das Feld mit der lfdNr. heißt „EV-Nummer“,
das Jahresfeld innerhalb der Tab. „EV-Jahr“.

Ich hoffe, Du kannst etwas mit diesen Angaben anfangen!

massig Greetz
hinterman
Willi Wipp
Moderator


Verfasst am:
23. Okt 2007, 01:02
Rufname:
Wohnort: Raum Wiesbaden


Re: ComboBox mit der Möglichkeit eine Abfrage auszuw...(III) - Re: ComboBox mit der Möglichkeit eine Abfrage auszuw...(III)

Nach oben
       Version: Office 2k (2000)

Hi hinterman,

das sollte dann etwa so funktionieren
Code:
Private Sub EV_Nummern_Eingabe_Click()
    Dim lngNeueNr   As Long
    Dim db          As DAO.Database
    Dim rs          As DAO.Recordset
    Dim strSQL      As String
   
    strSQL = "SELECT Max([EV-Nummer]) " & _
               "FROM [EV-Nummer] " & _
              "WHERE [EV-Jahr] = " & Me![EV-Jahr]
    Set db = CurrentDb
    Set rs = db.OpenRecordset("EV-Nummern", dbOpenDynaset)
    If Not rs.BOF And rs.EOF Then
        rs.MoveFirst
        lngNeueNr = rs![EV-Nummer] + 1
      Else
        lngNeueNr = 1
    End If
    rs.AddNew
    rs![EV-Nummer] = lngNeueNr
    rs!![EV-Jahr] = Me![EV-Jahr]
    rs.Update
    rs.Close
    Set rs = Nothing
    Set db = Nothing
    Beep
    MsgBox "Neuer Datensatz wurde angelegt !" & Chr(13) & Chr(13) & _
           "Klicken Sie auf OK um Ihre Daten einzugeben !"
    DoCmd.OpenForm "EV-Nummern", , , "[EV-Nummer] = " & Str(lngNeueNr) '& _
                                " AND [EV-Jahr] = " & Me![EV-Jahr]
    Forms![EV-Nummern]![BV-Nummer].SetFocus
End Sub

_________________
Eine kurze Rueckmeldung waere nett
SL Willi Wipp

(Anleitung fuer das Anhaengen von Dateien: Klicke links auf [www], Gaeste muessen sich dafuer anmelden)
Neues Thema eröffnen   Neue Antwort erstellen Alle Zeiten sind
GMT + 1 Stunde

Gehe zu Seite 1, 2  Weiter
Diese Seite Freunden empfehlen

Seite 1 von 2
Gehe zu:  
Du kannst Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.
Du kannst Dateien in diesem Forum nicht posten
Du kannst Dateien in diesem Forum herunterladen

Verwandte Themen
Forum / Themen   Antworten   Autor   Aufrufe   Letzter Beitrag 
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage Rechnet simple addieren formel nicht 3 Seppi 1597 04. März 2004, 13:39
Willi Wipp Abfrage Rechnet simple addieren formel nicht
Keine neuen Beiträge Access Tabellen & Abfragen: Filter bei Abfrage 3 tivi 701 03. März 2004, 15:06
tivi Filter bei Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Kombinationsfeld im Formular als Kriterium für eine Abfrage 1 gunderma 2621 03. März 2004, 10:05
tania63 Kombinationsfeld im Formular als Kriterium für eine Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Summe in Abfrage mit meheren Kriterien 1 Gast 2706 01. März 2004, 16:43
borstel Summe in Abfrage mit meheren Kriterien
Keine neuen Beiträge Access Tabellen & Abfragen: [DANKE-ERLEDIGT] Join in einer Abfrage 2 Gast 803 01. März 2004, 08:36
ppc [DANKE-ERLEDIGT] Join in einer Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage mit Auswahlkriterium über 2 Tabellen 1 Majo 1907 24. Feb 2004, 13:54
Willi Wipp Abfrage mit Auswahlkriterium über 2 Tabellen
Keine neuen Beiträge Access Tabellen & Abfragen: Formulargesteuerte Abfrage 2 obismarck 2699 17. Feb 2004, 17:03
obismarck Formulargesteuerte Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Anzeige bei "ja/nein" Abfrage nicht korrekt 2 FWE 1288 12. Feb 2004, 14:10
FWE Anzeige bei "ja/nein" Abfrage nicht korrekt
Keine neuen Beiträge Access Tabellen & Abfragen: Mit SQL auf zwei verschiedene Abfrage weisen 4 Gast 1585 07. Feb 2004, 15:00
Willi Wipp Mit SQL auf zwei verschiedene Abfrage weisen
Keine neuen Beiträge Access Tabellen & Abfragen: Suche Hilfe zu SQL (DAO 351 MS) - Abfrage 3 Berny_H 1005 04. Feb 2004, 11:41
borstel Suche Hilfe zu SQL (DAO 351 MS) - Abfrage
Keine neuen Beiträge Access Tabellen & Abfragen: Bestimmte Abfrage erstellen ... nur wie ? 1 studi 2219 22. Dez 2003, 20:51
reke Bestimmte Abfrage erstellen ... nur wie ?
Keine neuen Beiträge Access Tabellen & Abfragen: Abfrage, ob eine Abfrage ein Ergebnis hat 3 Esdo 3934 09. Dez 2003, 15:53
Fedaykin Abfrage, ob eine Abfrage ein Ergebnis hat
 

----> Diese Seite Freunden empfehlen <------ Impressum - Besuchen Sie auch: Expression Web Forum