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
GELÖST

Argumentübergabe und Rückgabe eine gespeicherten Prozedur

Frage Microsoft

Mitglied: PCFJKG

PCFJKG (Level 1) - Jetzt verbinden

27.10.2008, aktualisiert 11:40 Uhr, 9242 Aufrufe, 2 Kommentare

MS-Access 2000, MS SQL-SERVER 2000, VBA ruft mittels *.adp eine gespeicherte Prozedur.
Fehler: Zu viele Argumente übergeben.

Ein *.adp Projekt unter MS-Access 2000 ruft eine gespeicherte Prozedur auf einem MS-SQL 2000 Server auf. (Das Textfeld eines Übungsformulars: hier TF_Param soll nur zum Testen der Übergabe verschiedener Werte dienen.)
I
Private Sub TF_Param_AfterUpdate()

Dim Param As ADODB.Parameter
Dim Com As ADODB.Command
'Neues Befehlsobjekt erstellen
Set Com = New ADODB.Command

'Eingabeparameter erstellen
Set Param = Com.CreateParameter("LB", adVarChar, adParamInput, 4)
Param.Value = Me.TF_Param.Value
Com.Parameters.Append Param

'Rückgabeparameter erstellen
Set Param = Com.CreateParameter("Return", adVarChar, adParamReturnValue, 20)
Com.Parameters.Append Param

Com.CommandType = adCmdStoredProc
Com.CommandText = "Meine_Procedure"

'Auslösen
Com.ActiveConnection = CurrentProject.Connection
Com.Execute

'Ergebnisse anzeigen
MsgBox Com.Parameters(0).Value & " " & Com.Parameters(1).Value
end sub

Die TestProzedur lautet:

CREATE Procedure Meine_Procedure
(
@LB varchar(4)
)
As
SET nocount on
DECLARE @rückgabe char(2)
Set @rückgabe = 'xx'
RETURN @rückgabe

Fehlermeldung: Für die Prozedur ' Meine_Procedure' wurden zu viele Argumente angegeben.
Wenn ich den Rückgabeparameter nicht erstelle, gibt es keine Fehlermeldung. Ich kann so aber nicht testen, ob die Übergabe der Werte und die Rückgabe sauber funktioniert.
Kennt jemand eine Lösung ?
Mitglied: Logan000
27.10.2008 um 09:41 Uhr
Moin Moin

Meine Kenntnisse in VBA und SoreProc Programmierung sind zwar schon etwas eingerostet, aber so wie ich das sehe verwechselst du Rockgabecode und Rückgabeparameter.

Der Rückgabecode ist immer INT und wird mit RETURN gesetzt wie in deinem Bsp.
Rückgabeparameter mussen in der StoreProc deklariert werden, z.B.

01.
CREATE Procedure Meine_Procedure( 
02.
@LB varchar(4), 
03.
@Ret varchar(4) OUTPUT ) 
04.
As 
05.
SET nocount on 
06.
Set @Ret= 'xx'
Gruß L.
Bitte warten ..
Mitglied: PCFJKG
27.10.2008 um 11:40 Uhr
Hallo Logan000,

genau das war es (Nix mit eingerostet: war genau richtig, schnell, effektiv und hat geholfen).

Vielen Dank, PCFJKG
Bitte warten ..
Ähnliche Inhalte
Neue Wissensbeiträge
Heiß diskutierte Inhalte
iOS
16 iPads zentrall verwalten (16)

Frage von simonlohr zum Thema iOS ...

Viren und Trojaner
Ransomware .nm4 (15)

Frage von Zyklo92 zum Thema Viren und Trojaner ...

Zusammenarbeit
Administrator Verhalten nach Vertragskündigung (13)

Frage von sysbone zum Thema Zusammenarbeit ...

Windows 7
Freeware MSI Tool (12)

Frage von uridium69 zum Thema Windows 7 ...