Top-Themen

Aktuelle Themen (A bis Z)

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

Mittels VBS eine Maske für SQL-Abfrage erstellen?

Mitglied: goodbytes

goodbytes (Level 2) - Jetzt verbinden

11.03.2009, aktualisiert 10:08 Uhr, 6696 Aufrufe, 3 Kommentare

Hallo,
ich habe mir eine SQL-Abfrage erstellt, die mir das Ergebnis in eine txt-Datei speichert. Funktioniert auch prima
Die Abfrage rufe ich mit einer Batch auf (nutze dazfür "SQLCMD"); dieigentliche SQL-Abfrage steht in der "Abfrage.txt".

Batch-Datei:
01.
SQLCMD -U ODBC-Zugriff -P odbc -S Server\DATENBANK -d Instanzname -i Abfrage.txt -o Ergebnis.txt -r 1 -R -W -b -s ";"
Abfrage.txt:
01.
SELECT      * 
02.
FROM           [DB_Zählpunkt] RIGHT OUTER JOIN 
03.
                      [DB_Zeile] ON [DB_ZP].Nr_ = [DB_Zeile].ZPNr_ LEFT OUTER JOIN 
04.
                      [DB_Kopf] ON [DB_Zeile].Rechnungsnr_ = [DB_Kopf].Nr_ 
05.
 
06.
WHERE       ([DB_Zeile].Code= 'S') 
07.
                      AND ([DB_Zeile].Gruppe = 'E-003)  
08.
                      AND (([DB_Kopf].[Von-Datum] BETWEEN CONVERT(DATETIME, '2008-01-01 00:00:00', 102) 
09.
                      AND CONVERT(DATETIME, '2008-12-31 00:00:00', 102))  
10.
                      AND ([DB_Kopf].[Bis-Datum] BETWEEN CONVERT(DATETIME, '2008-01-01 00:00:00', 102) 
11.
                      AND CONVERT(DATETIME, '2008-12-31 00:00:00', 102))) 
12.
ORDER BY [DB_Kopf].Nr_
Die Filterkriterien (Code, Gruppe und der Zeitraum) ändere ich immer direkt in der Abfrage.
Nun soll allerdings ein Benutzer, der nichts mit SQL am Hut hat diese Abfrage regelmäßig ausführen (und muss natürlich auch entsprechend auch die Filterkriterien ändern können).

Wie bekomme ich da eine einfache Maske hin, wo er seine Werte einfach übergibt?
Von der "Abfrage.txt" und der Batch soll er ja möglichst gar nichts mitbekommen.

Torsten
Mitglied: godlie
11.03.2009 um 11:22 Uhr
Hallo afaik ist es in VBS net möglich GUI's zu bauen ( lass mich gerne vom Gegentiel überzeugen ).

Aber eine möglichkeit wäre es in html ein vbscript einzubetten, damit wäre die Möglcihekit zur Eingabe gegeben.

hab hier was gefunden: link

grüße
Bitte warten ..
Mitglied: goodbytes
11.03.2009 um 18:24 Uhr
Hallo godlie,
das ist natürlich sehr elegante Variante um schnell eine Oberfläche zu bekommen, vor allem, weil man diese sehr schnell bei Änderungen anpassen kann.

Aber bei der Umsetzung meines speziellen Problems hab ich da so meine Probleme.

Den SQLCMD-Aufruf könnte ich ja direkt in den vbs-Teil einbinden, allerdings nutzt dieser Aufruf ja eine separate Datei, die die reine SQL-Abfrage enthält. Ich muss aber über diese grafische Oberfläche ja die Filterkriterien in dieser Abfrage ändern. Also entweder aus den Ergebnissen der Oberfläche direkt in die Datei schreiben (wie aber dann an die richtige Stelle?), oder den Inhalt der Abfrage-Datei irgendwie direkt mit in die hta-Datei mit reinbringen.

Oder kann man das Problem doch nur mit VB lösen? (VB6 hab ich zumindest noch da.) Da wären natürlich grafische Oberflächen auch möglich. Nur ist mir das zu komplex das hinzubekommen. Man könnte da mit Sicherheit alles gleich komplett reinbekommen, aber da kenne ich mich einfach zu wenig aus.

Torsten
Bitte warten ..
Mitglied: goodbytes
17.03.2009 um 13:24 Uhr
Also diese Umsetzung mittels einer hta-Datei habe ich jetzt hinbekommen. Auch die SQL-Abfrage ist komplett mit drin (ohne Zeilenumbruch in der Zeile "oShell.Run "SQLCMD..."):

01.
<head> 
02.
<title>SQL-Abfrage</title> 
03.
<HTA:APPLICATION 
04.
    APPLICATIONNAME="SQL-Abfrage" 
05.
    SCROLL="no" 
06.
    SINGLEINSTANCE="yes" 
07.
    WINDOWSTATE="normal" 
08.
    SysMenu ="Yes" 
09.
10.
 
11.
<script language="VBScript"> 
12.
 
13.
Dim WScript 
14.
Dim WshShell 
15.
Dim oShell 
16.
 
17.
Set WScript = CreateObject("WScript.Shell") 
18.
Set oShell = CreateObject("WScript.Shell") 
19.
 
20.
oShell.Run "SQLCMD " & "-U ODBC-Zugriff -P odbc -S MeinServer\Instanz -d Datenbank -Q ""USE Datenbank ... (Meine Abfrage)"" -o Ergebnis.txt -r 0 -R -W -b -s " & ";""", 1, True 
21.
 
22.
</script> 
23.
 
24.
</head>
Nun habe ich aber noch ein letztes Problem. Ich kann ja in der hta-Datei Eingabeboxen definieren.
z.B.:

01.
MeineVariable = InputBox("Bitte den Wert eingeben: ","Wert-Eingabe")
Wie kann ich aber nun diese Variable in der enthaltenen SQL-Abfrage nutzen?

Torsten
Bitte warten ..
Ähnliche Inhalte
PHP
Abfrage SQL
gelöst Frage von dudeldoedelPHP3 Kommentare

Hallo zusammen, kann man das in einer SQL Abfrage erreichen ??? Feldwert lautet: {"565":{"textinput":{"comment":"1400"}}} als Ergebnis soll ausgelesen werden ...

VB for Applications
Abfrage über function bei vbs
gelöst Frage von RobertKaVB for Applications4 Kommentare

Hallo zusammen, habe ein vb Script, welches je nach Aufruf verschiedene Mails verschickt. Es funktioniert also schon. Und das ...

Windows Server
WMI VBS Registry Abfrage
gelöst Frage von LuciusCastusWindows Server3 Kommentare

Ich habe folgendes Problem: Für die GPO Verteilung benötige ich eine WMI Filterung von der Installation .Net v4. Ab ...

Batch & Shell
Geplante Aufgabe erstellen - VBS
gelöst Frage von kontextBatch & Shell9 Kommentare

Hallo Leute, Hallo Programmier-Profis :-) :-D Ich arbeite zur Zeit an einem kleinen VB-Script und bin nun auf eine ...

Neue Wissensbeiträge
Windows 10

USB Maus und Tastatur versagen Dienst unter Windows 10

Erfahrungsbericht von hardykopff vor 1 TagWindows 105 Kommentare

Da steht man ziemlich dumm da, wenn der PC sich wegen fehlender USB Tastatur und Maus nicht bedienen lässt. ...

Administrator.de Feedback
Update der Seite: Alles zentriert
Information von Frank vor 1 TagAdministrator.de Feedback18 Kommentare

Hallo User, die größte Änderung von Release 5.8 ist das Zentrieren der Webseite (auf großen Bildschirmen) und ein "Welcome"-Teaser ...

Humor (lol)

WhatsApp-Nachrichten endlich auch per Bluetooth versendbar

Information von BassFishFox vor 2 TagenHumor (lol)4 Kommentare

Genau darauf habe ich gewartet! ;-) Der beliebte Messaging-Dienst WhatsApp erhält eine praktische neue Funktion: Ab dem nächsten Update ...

Google Android

Googles "Android Enterprise Recommended" für Unternehmen

Information von kgborn vor 2 TagenGoogle Android3 Kommentare

Hier eine Information, die für Administratoren und Verantwortliche in Unternehmen, die für die Beschaffung und das Rollout von Android-Geräten ...

Heiß diskutierte Inhalte
Speicherkarten
Vergessliche USB-Sticks?
Frage von hanheikSpeicherkarten14 Kommentare

Ich habe in den letzten Tagen 500 USB-Sticks mit Bilddateien bespielt. Obwohl ich die Dateien mit größter Sorgfalt kopiert ...

Windows Server
NTFS Berechtigungen Ordnerstruktur
Frage von hukahu23489Windows Server11 Kommentare

Hallo, ich bin seit kurzem in einer neuen IT-Abteilung und bin über das Berechtigungskonzept des Unternehmens sehr schockiert. Ich ...

Exchange Server
NDR umleiten
Frage von isomasterExchange Server10 Kommentare

Hallo Kollege, ich habe ein Problem mit dem Exchange Server. Wir haben unsere info@ Adresse als Verteilergruppe eingebunden (so ...

Windows Server
Standortvernetzung zu einem Strato VServer (Windows)
Frage von matzefratze81Windows Server10 Kommentare

Moin, ich komme aus einem Enterprise-Umfeld und habe den Fehler gemacht, dass ich mich auf ein kleines Unternehmen eingelassen ...