vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevAniGif - als kostenlose Vollversion auf unserer vb@rchiv CD Vol.5  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB & Datenbanken
Parameterabfrage in Word mit Abfrage an SQL-Server 
Autor: crusl
Datum: 25.08.04 12:10

Hallo @ALL

ich bin absoluter Anfänger in VB.
In SQL fühle ich mich weitgehend sicher. Wir arbeiten mit SQL Server 2000 und Office XP auf Windows XP Professional Workstations.

Nun habe ich folgende Frage:

Bisher habe ich für die Serienbrieffunktion in Word den Microsoft Query über ODBC verwendet. Ich verändere nun jedes Mal das SQL-Statement und bekomme auch die richtigen Ergebnisse im Serienbrief. Das Ändern des SQL-Statements stellt für unsere Sekretärinnen aber oftmals ein Problem dar. Daher möchte ich nach dem Laden des Serienbriefes in Word automatisch ein VB-Skript starten, welches die gewünschten Parameter abfrägt und entsprechend im SQL-Statement im Microsoft Query austauscht.
Diese vier Variablen sollen ausgetauscht werden.

set @semTyp = 'AA1'
set @jahr = 2004
set @teil = 0
set @nr = 1

Vielen Dank für Eure Hilfe

Crusl

Anlage : SQL-Statement

-- ***************************************************************************
-- Seminaranschreiben für Zertis (ohne Noten), Serienbrief, Anstecker usw. einteilig
-- ***************************************************************************

-- Variablendeclaration

declare @semTyp varchar(4), @jahr int, @teil int, @nr int

set @semTyp = 'AA1'
set @jahr = 2004
set @teil = 0
set @nr = 1


-- Ende Variablendeclaration

SELECT p.personId,
p.surname as nachname,
p.firstname as vorname,
convert(char (10),p.birthday,104) as geburtsdatum,
anrede = (CASE WHEN (p.sex = 'W') THEN ('Frau ') ELSE ('Herr') END),
b.bookBank AS BLZ,
b.mark,
b.points,
c.description AS bankname,
c.street,
c.postcode,
c.place,
s.seminarType +' '+RIGHT(s.semYear,2)+LTRIM(STR(sp.partnumber))+(CASE WHEN s.seqNumber<=9
THEN LTRIM(STR(0)+LTRIM(STR(s.seqNumber))) else LTRIM(STR(s.seqNumber))end) AS Semkuerzel,
discr,
sp.remark,
convert(char (10),MIN(spd.seminarDay),104) as Beginn1,
convert(char (10),MAX(spd.seminarDay),104) as Ende1,
datediff(d, MIN(spd.seminarDay) , MAX(spd.seminarDay)+1) as dauerSem1,
(CASE WHEN (datediff(d, MIN(spd.seminarDay) , MAX(spd.seminarDay) -1) > 0)
THEN ( 'vom '+ convert(char (10),MIN(spd.seminarDay),104)+
' bis '+ convert(char (10),MAX(spd.seminarDay),104))
ELSE ('am ' + convert(char (10),MIN(spd.seminarDay),104)) END) as Dauerklar1

FROM
BookingDimension bd
RIGHT OUTER JOIN Booking b ON bd.bookingId = b.bookingId
INNER JOIN Customer c ON b.bookBank = c.BLZ
INNER JOIN Person p ON b.personId = p.personId
INNER join seminarPart sp ON sp.seminarPartId = b.seminarPartId
INNER join seminar s ON s.seminarId = sp.seminarId
INNER join seminarPartDay spd ON spd.seminarPartid = sp.seminarPartId
LEFT JOIN (SELECT TOP 1 sty.description AS Discr, sty.catalogYear AS Jahr
FROM
SeminarTypeYear sty
WHERE sty.catalogYear<=2004
AND (sty.seminarType= @semTyp)
ORDER BY sty.catalogYear desc) AS SeminarTitel ON SeminarTitel.Jahr <= s.semYear
WHERE (b.status <> 'X')
AND (p.personId like '%')
AND (b.seminarPartId IN
(SELECT sp.seminarPartId
FROM SeminarPart sp
WHERE sp.partNumber = @teil
AND sp.seminarId IN
(SELECT s.seminarId
FROM Seminar s
WHERE s.seminarType = @semTyp
AND s.semYear = @jahr
AND s.seqNumber = @nr)
))
GROUP BY
p.personId,
p.surname,
p.firstname,
p.birthday,
p.sex,
b.mark,
b.points,
discr,
sp.remark,
b.bookBank,
c.description,
c.street,
c.postcode,
c.place,
s.seminarType,
s.semYear,
s.seqNumber,
sp.partnumber;
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Parameterabfrage in Word mit Abfrage an SQL-Server1.161crusl25.08.04 12:10

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2025 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel