ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Copy an array into an ADO recordset? (https://www.excelbanter.com/excel-programming/325852-copy-array-into-ado-recordset.html)

quartz[_2_]

Copy an array into an ADO recordset?
 
I have the following function in which I am attempting to copy an array into
an ADO recordset directly from the current sheet in Excel. This generates an
error. Can this even be done? If so, how? Can someone please correct my
function?

Private Function ADOCopyArrayIntoRecordset(argArray As Variant) As
ADODB.Recordset
Dim rsADO As Object
Dim lngR As Long
Dim lngC As Long
Set rsADO = CreateObject("ADODB.Recordset.2.8")
For lngR = 1 To UBound(argArray, 1)
For lngC = 1 To UBound(argArray, 2)
rsADO.Fields(lngC - 1).Value = argArray(lngR, lngC)
Next lngC
rsADO.MoveNext
Next lngR
End Function

Thanks much in advance.

Fredrik Wahlgren

Copy an array into an ADO recordset?
 

"quartz" wrote in message
...
I have the following function in which I am attempting to copy an array

into
an ADO recordset directly from the current sheet in Excel. This generates

an
error. Can this even be done? If so, how? Can someone please correct my
function?

Private Function ADOCopyArrayIntoRecordset(argArray As Variant) As
ADODB.Recordset
Dim rsADO As Object
Dim lngR As Long
Dim lngC As Long
Set rsADO = CreateObject("ADODB.Recordset.2.8")
For lngR = 1 To UBound(argArray, 1)
For lngC = 1 To UBound(argArray, 2)
rsADO.Fields(lngC - 1).Value = argArray(lngR, lngC)
Next lngC
rsADO.MoveNext
Next lngR
End Function

Thanks much in advance.


I think you should use Set rsADO = CreateObject("ADODB.Recordset")
Do you get an error message?

/Fredrik



Fredrik Wahlgren

Copy an array into an ADO recordset?
 

"quartz" wrote in message
...
I have the following function in which I am attempting to copy an array

into
an ADO recordset directly from the current sheet in Excel. This generates

an
error. Can this even be done? If so, how? Can someone please correct my
function?

Private Function ADOCopyArrayIntoRecordset(argArray As Variant) As
ADODB.Recordset
Dim rsADO As Object
Dim lngR As Long
Dim lngC As Long
Set rsADO = CreateObject("ADODB.Recordset.2.8")
For lngR = 1 To UBound(argArray, 1)
For lngC = 1 To UBound(argArray, 2)
rsADO.Fields(lngC - 1).Value = argArray(lngR, lngC)
Next lngC
rsADO.MoveNext
Next lngR
End Function

Thanks much in advance.


I think the code should be something like this

Private Function ADOCopyArrayIntoRecordset(argArray As Variant) As
ADODB.Recordset
Dim rsADO As Object
Dim lngR As Long
Dim lngC As Long
Set rsADO = CreateObject("ADODB.Recordset")
For lngR = 1 To UBound(argArray, 1)
rsADO.AddNew
For lngC = 1 To UBound(argArray, 2)
rsADO.Fields(lngC - 1).Value = argArray(lngR, lngC)
Next lngC
Next lngR
Set ADOCopyArrayIntoRecordset = rsADO
End Function



aseel

fixed object will be move
 
i insert filter in my worksheet, and i made to each cell hyperlink the
problem is when i select items from filter appear to me this message (fixed
object will move)

"Fredrik Wahlgren" wrote:


"quartz" wrote in message
...
I have the following function in which I am attempting to copy an array

into
an ADO recordset directly from the current sheet in Excel. This generates

an
error. Can this even be done? If so, how? Can someone please correct my
function?

Private Function ADOCopyArrayIntoRecordset(argArray As Variant) As
ADODB.Recordset
Dim rsADO As Object
Dim lngR As Long
Dim lngC As Long
Set rsADO = CreateObject("ADODB.Recordset.2.8")
For lngR = 1 To UBound(argArray, 1)
For lngC = 1 To UBound(argArray, 2)
rsADO.Fields(lngC - 1).Value = argArray(lngR, lngC)
Next lngC
rsADO.MoveNext
Next lngR
End Function

Thanks much in advance.


I think the code should be something like this

Private Function ADOCopyArrayIntoRecordset(argArray As Variant) As
ADODB.Recordset
Dim rsADO As Object
Dim lngR As Long
Dim lngC As Long
Set rsADO = CreateObject("ADODB.Recordset")
For lngR = 1 To UBound(argArray, 1)
rsADO.AddNew
For lngC = 1 To UBound(argArray, 2)
rsADO.Fields(lngC - 1).Value = argArray(lngR, lngC)
Next lngC
Next lngR
Set ADOCopyArrayIntoRecordset = rsADO
End Function





All times are GMT +1. The time now is 10:53 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com