pcfjkg
Goto Top

Selbst erstellte gespeicherte Prozedur im MS-Access Projekt in VBA ausführen

DoCmd.OpenStoredProcedure "Name" öffnet "Name" ist für mich nicht geeignet.

DoCmd.OpenStoredProcedure "Name" öffnet "Name" (hier im konkreten Fall als Table). Ich möchte aber in der Prozedur "Name" mehrere Abfragen erstellen lassen, welche aufeinander aufbauen. Diese sollen nicht angezeigt werden, sondern werden an anderer Stelle genutzt.

Wie starte ich die Ausführung von "Name" und wie lautet die Syntax, um Werte an "Name" zu übergeben ?

Danke für Hilfe

PCFJKG

Content-ID: 93335

Url: https://administrator.de/contentid/93335

Ausgedruckt am: 18.12.2024 um 04:12 Uhr

AndreasHoster
AndreasHoster 01.08.2008 um 09:39:10 Uhr
Goto Top
Zum Aufruf:
Call Application.CurrentProject.Connection.Execute("Exec Name Variable1, Variable2")
Wobei zu beachten ist das Strings in ' eingeschlossen werden, wenn also Variable1 der Text TEST ist und Variable2 die Zahl 1234 dann sieht es so aus:
Call Application.CurrentProject.Connection.Execute("Exec Name 'TEST', 1234")
PCFJKG
PCFJKG 01.08.2008 um 19:01:02 Uhr
Goto Top
Erst einmal Danke, zum Einen für die Hilfe und zum Zweiten für die schnelle Reaktion. Ich würde gern noch eine weitere Frage stellen:

Wieso bringt (beim Speichern im *.adp)

CREATE VIEW P_Test2
As
SELECT <SpaltenBezeichner>
FROM <TableName>

als Meldung "Falscher Parameter", während

ALTER PROCEDURE P_Test2
As
SELECT <SpaltenBezeichner>
FROM <TableName>

nicht beanstandet wird (und sich ausführen läßt) ?

Zusatzfrage: Können auch die Bezeichner einer SELECT-Anweisung beim Aufruf übergeben werden ?
So z.B.

Alter Procedure <Prozedurname>

(
@bezeichner varchar(100)
)

AS

SELECT @bezeichner

INTO <NewTableName>

FROM <TableName>

Soweit ich dies nutzen will, meldet die Syntaxprüfung, dass keine Spalte ausgewählt sei. Möglicherweise kann man Bezeichner nicht variabel gestalten (?), dass wäre allerdings eine unschöne Einschränkung ...

Im Voraus Danke,

PCFJKG
AndreasHoster
AndreasHoster 04.08.2008 um 11:55:48 Uhr
Goto Top
Frage zu Create View wüsste ich gerade keine Antwort.

Frage zum variablen Bezeichner: Geht, müsste aber so aussehen:
EXEC('SELECT ' + @bezeichner + 'INTO <NewTableName> FROM <TableName> ')
Also im Prinzip einfach einen String mit dem SQL Befehl machen und mit EXEC ausführen.
PCFJKG
PCFJKG 04.08.2008 um 16:28:44 Uhr
Goto Top
Dankeschön,

Sie haben mir bereits vor einiger Zeit einmal geholfen. Es ist schön, wenn man - vor allem wenn die Zeit drängt - Hilfe bekommt. Ich hoffe, dass ich mich nun mit den gespeicherten Prozeduren anfreunden kann; auf alle Fälle eröffnen sich hier neue und interessante Möglichkeiten.
EXEC hat wie beschrieben sofort funktioniert.

Herzliche Grüße und nochmals danke


PCFJKG