Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

SQL VBA - Gib alles zurück in W HERE Klausel

Frage Entwicklung Datenbanken

Mitglied: loki99

loki99 (Level 1) - Jetzt verbinden

28.05.2010 um 08:27 Uhr, 3239 Aufrufe, 3 Kommentare

Hallo liebe Administrator Mitglieder.

Ich habe folgendes Problem, bei dem Ihr mir bestimmt weiterhelfen könnt.

Ich habe in Excel mehrer Dropdownfelder erzeugt, in welchen variable Werte und immer der Wert "Alles" steht. Nun suche ich eine SQL Anweisung, welche mir alle Werte zurüchgibt, wenn alles ausgewählt wird. Zur genaueren Erleuterung ein kurzes Beispiel: ich habe ein Dropdownfeld Autos mit den Werten "Alles" ," BMW" ,"Audi" und ein Dropdownfeld Fahrer mit den Werten "Alles" ," Müller" "Schimdt". Mun sollen alle Kombiantionen möglich sein. z.. Alle Autos Fahrer Müller oder Alle Autos Alle Fahrer.

Gibt es eine Möglichkeit Wildcards nach der Where Bedingung einzusetzen?


Meine Idee ist:
....
.Open "SELECT * FROM Tabelle WHERE Auto = ComboBoxAutos AND Fahrer = ComboBox Fahrer"
.....

Dies funktioniert auch, wenn ein bestimtes Auto und Farher ausgewählt ist.

Über Anregungen und Lösungsvorschläge würde ich mich sehr freuen.
Vielen Dank für Eure Bemühungen schon einamal in Vorraus.
Mitglied: Edi.Pfisterer
28.05.2010 um 09:35 Uhr
Hallo!
Ich habe von Excel oder VBA keine Ahnung, aber von SQL...

Die richtige Syntax muesste Lauten:

SQL = "SELECT * FROM Tabelle WHERE ((Auto = ComboBoxAutos) AND (Fahrer = ComboBox Fahrer))"

Wildcard in SQL ist leider nicht der * sondern %

da hast du (aber: siehe meine 2. Zeile...) nun 2 Möglichkeiten:
a) entweder gelingt es Dir, bei Alles als Value das zeichen % zu hinterlegen
b) eine Umformung (die in etwa so aussehen könnte - aber wie gesagt: ich von VBA nix Ahnung...)

01.
Autoauswahl = ComboBoxAutos 
02.
Fahrerauswahl = ComboBox Fahrer 
03.
if Autoauswahl = "Alles" then Autoauswahl = "%" 
04.
if Fahrerauswahl = "Alles" then Fahrerauswahl = "%" 
05.
SQL = "SELECT * FROM Tabelle WHERE ((Auto LIKE Autoauswahl) AND (Fahrer LIKE Fahrerauswahl))"
Hoffe, zumindest ein bisschen geholfen zu haben...
(falls sich sonst niemand finden sollte, der mit VBA mehr am Hut hat als ich...)

lg
Edi
Bitte warten ..
Mitglied: BigWim
28.05.2010 um 09:45 Uhr
Mit VBA kann ich auch nicht dienen, aber mit ein wenig Verständnis von Scripten. Ich würde ohne von der VBA-Syntax Ahnung zu haben so schreiben:
01.
if ComboBoxAutos = "Alles" and ComBoxFahrer = "Alles" then 
02.
    REM holt meines Wissens alle Datensätze 
03.
    SQL = "SELECT * FROM Tabelle  
04.
elseif if ComboBoxAutos = "Alles" and ComBoxFahrer <> "Alles" then 
05.
    REM alle Datensätze mit bestimmten Fahrer 
06.
    SQL = "SELECT * FROM Tabelle WHERE (Fahrer = ComboBoxFahrer)" 
07.
elseif if ComboBoxAutos <> "Alles" and ComBoxFahrer = "Alles" then 
08.
    REM alle Datensätze mit bestimmtes Auto 
09.
    SQL = "SELECT * FROM Tabelle WHERE (Auto = ComboBoxAutos)" 
10.
else 
11.
    REM alle Datensätze mit bestimmtes Auto & bestimmten Fahrer 
12.
    SQL = "SELECT * FROM Tabelle WHERE ((Auto = ComboBoxAutos) AND (Fahrer = ComboBox Fahrer))" 
13.
endif
Markus


[Edit Bibei] Codeformatierung [/Edit]
Bitte warten ..
Mitglied: loki99
28.05.2010 um 12:41 Uhr
Danke für die schnellen Antworten. In der Zwischenzeit habe ich bemerkt, dass das Problem "erst einmal" wo anderst liegt. Die Datenbank stuktur ist bei mir gegeben und kann nicht geändert werde. Aber nun zum Problem. Die Daten liegen nicht in einem Datensatz sonder über mehrere verteilt. Ich gehe einmal vom Autobeispiel weg.

Ich habe eine Tabelle mit 3 Spalten (Projekt, Verknüpfung , Kunde).

Projekt Verknüpfung Kunde
P1 hatKunde bmw
P1 hatMitarbeiter Müller
P2 hatKunde audi
P2 hatMitarbeiter Müller

........

Benötige eine Anweisung wie: Zeig mir alle Projekte, wo der Kunde BMW ist und der Mitarbeiter Müller heißt. Hier Ergebnis P1. Als muss über mehrere Datensätze verglichern werden.

Wünsche allen noch einen schönen Tag und herzlichen Dank für die Unterstützung.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
VB for Applications
gelöst VBA Excel Recordset - Abfrage auf SQL-Server (4)

Frage von Aximand zum Thema VB for Applications ...

VB for Applications
Excel VBA Sortierung von Daten (5)

Frage von easy4breezy zum Thema VB for Applications ...

Datenbanken
gelöst SQL-Abfrage - DISTINCT - letztes Datum (3)

Frage von emeriks zum Thema Datenbanken ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...