Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Anzahl Sätze bei CopyfromRecordset

Forumthread: Anzahl Sätze bei CopyfromRecordset

Anzahl Sätze bei CopyfromRecordset
20.08.2002 12:47:55
Andreas_K
Hallo allerseits,

ich möchte gern die Anzahl der Datensätze wissen die mit CopyfromRecordset übergeben wurden.

Alternativ dazu wie kann ich dem Bereich in den die Daten geschrieben wurden einen Namen verpassen.

Danke und viele Grüße von der Küste


Hier das Script.

-------------------
Public Sub Stored()

Dim conn, cmd, tmpParam, intValue
Dim strServer, strDatabase, strUserName, strPassword, strConnection

' ADO Konstanten
' Konstanten CommandType
Const adCmdText = 1
Const adCmdTable = 2
Const adCmdStoredProc = 4
Const adCmdFile = 256
Const adCmdTableDirect = 512

' Konstanten ParameterDirection
Const adParamInput = 1
Const adParamInputOutput = 3
Const adParamOutput = 2
Const adParamReturnValue = 4
Const adParamUnknown = 0

' Konstanten ParameterType
Const adBoolean = 11 ' Boolean
Const adLongVarChar = 201 ' String
Const adChar = 129 ' String fixer Laenge
Const adWChar = 130 ' Unicode String fixer Laenge
Const adCurrency = 6 ' Waehrung
Const adDate = 7 ' Datum
Const adDouble = 5 ' Double
Const adInteger = 3 ' Long
Const adSingle = 4 ' Integer
Const adVarChar = 200 ' String variabler Laenge
Const adVarWChar = 202 ' Unicode String variabler Laenge

strServer = "S002"
strDatabase = "U_Intranet"
strUserName = ""
strPassword = ""

strConnection = "Provider=SQLOLEDB;Data Source=" & strServer & ";" & _
"Initial Catalog=" & strDatabase & ";User ID=" & strUserName & ";" & _
"Password=" & strPassword & ";"

Set conn = CreateObject("ADODB.Connection")
conn.Open strConnection

Set cmd = CreateObject("ADODB.Command")
' Stored Procedure des SQL Server 7.0
cmd.CommandText = "sp_Zinsen"
cmd.CommandType = adCmdStoredProc
Set cmd.ActiveConnection = conn

' Werte des InputParameter:
intParamFK_Nr = 2

' Input Parameter uebergeben:
Set tmpParam = cmd.CreateParameter("@paramFK_Nr", adInteger, adParamInput, 4, intParamFK_Nr)
cmd.Parameters.Append tmpParam


' Fuehre Command Objekt aus
Set rs = cmd.Execute

Daten_del 'die alten Daten löschen

For iCols = 0 To rs.fields.Count - 1
Cells(1, iCols + 1).Value = rs.fields(iCols).Name

Next
Range(Cells(1, 1), Cells(1, rs.fields.Count)).Font.Bold = True
Range("A2").CopyFromRecordset rs

z = rs.fields.Count
S = rs.RecordCount 'ergibt immer -1 da verknüpfte Tabelle bzw. RS aus StoredProcedure geliefert

With Worksheets("Tabelle3")
' .Names.Add Name:="Daten", RefersToR1C1:="='Tabelle3'!R1C1:R" & rs.fields.Count & "C" & rs.RecordCount & ""
Stop
End With
rs.Close
conn.Close
Set rs = Nothing
Set tmpParam = Nothing
Set cmd = Nothing
Set conn = Nothing

End Sub

Private Sub Daten_del()
Sheets("Tabelle3").Select 'Tabellensheet in das die Daten kommen

Application.Goto Reference:="Daten"
Selection.ClearContents

End Sub
--------------

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Anzahl Sätze bei CopyfromRecordset
21.08.2002 11:55:07
Coach
Hallo Andreas,

wenn Du sonst keine Daten in der Tabelle hast, kannst Du einfach die Usedrange benutzen, z.B.
ActiveSheet.UsedRange.Clear
ActiveSheet.UsedRange.Rows.Count-1

.Names.Add Name:="Daten", RefersToR1C1:=ActiveSheet.UsedRange

Gruß Coach

Re: Anzahl Sätze bei CopyfromRecordset
21.08.2002 13:39:38
Andreas K
Besten Dank,

hatte inzwischen etwas gefunden. Aber das hier sieht besser und schneller aus.

Grüße von der Küste

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige