LinkBack Thread Tools Search this Thread Display Modes
Prev Previous Post   Next Post Next
  #3   Report Post  
Posted to microsoft.public.excel.programming
Jez Jez is offline
external usenet poster
 
Posts: 38
Default ADO from Excel to Access

David, Thanks for the website, I have tried it and for some reason doesnt
send any data to the table I want it to. It seems to make connection and tell
me that it has uploaded the data, but when checking it, the table in Access
is still empty.

Not sure what I have done wrong. Ignore the previous thread as I was trying
something else that doesnt work at all.

This is the code I have tried.

Code A
Private Sub cmdUpload_Click()
Dim currArcRow As Long
Dim lngRow As Long
Dim rngDataUpload As Range
Dim rngCurr As Range
Set rngCurr = Sheets("Uploaded").Range("A2:A65536")
Dim rngArc As Range
Dim lngIErr As Long ' adds all err numbers together. If no errors occur
then this number is 0
Dim adoRSToArchive As ADODB.Recordset

currArcRow = Module1.findLastRow(rngCurr, "")
If adoRSToSend.RecordCount < 1 Then
MsgBox "Currently Nothing To Upload", vbCritical, "Uploading Data"
Else
Dim optInt As Integer
optInt = MsgBox("Are You Sure You Want To Upload?" & vbCrLf & vbCrLf & _
"You Cannot Make Any Changes To Uploaded Data.", vbYesNo, "Uploading
Data")
If optInt = vbYes Then
lngRow = findLastRow(Sheets("ToSend").Range("A2"), "")
Set rngDataUpload = Sheets("ToSend").Range("A2:P" + CStr(lngRow))
lngIErr = lngIErr + submitPDRInfo(rngDataUpload, "INSERT into tblPDR
(PDRID,ManagerID,Manager,PayID,EmpName,PDRDate,Cre ateDate,KPI1Val,KPI1Score,KPI2Val,KPI2Score,KPI3Va l,KPI3Score,KPI4Val,KPI4Score,Payment,SubmittedBy) " & _

"Values (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,'" + fOSUserName() + "');")
If lngIErr < 0 Then lngIErr = 1
' if no errors in upload move all data to archive
If lngIErr = 0 Then
Set rngDataUpload = Sheets("ToSend").Range("A2:P" + CStr(lngRow))
Set rngArc = Sheets("Uploaded").Range("A" + CStr(currArcRow + 1))
rngDataUpload.Copy rngArc
'rngDataUpload.ClearContents
Set adoRSToArchive = copyToRecordset(rngDataUpload)
rngDataUpload.Copy rngArc
'rngDataUpload.ClearContents
Set adoRSToArchive = copyToRecordset(rngDataUpload)
MsgBox "Data Uploaded", vbInformation, "Uploading Data"
Else
MsgBox "Upload Has Failed", vbCritical, "Uploading Data"
End If
End If
End If
ThisWorkbook.Save
init
End Sub

Public Sub init()
Dim lngRow As Long
lngRow = findLastRow(Sheets("ToSend").Range("A2"), "") + 1
Set rangeObj = Sheets("ToSend").Range("A1:P" + CStr(lngRow))
Set adoRSToSend = copyToRecordset(rangeObj)
Set rangeObj = Sheets("ToSend").Range("A1:P" + CStr(lngRow))
Set adoRSToSend_ = copyToRecordset(rangeObj)
If adoRSToSend_.RecordCount <= 1 Then
Me.TextBox1 = 0
Else
Me.TextBox1 = adoRSToSend_.RecordCount
End If
lngRow = findLastRow(Sheets("ToSend").Range("A2"), "") + 1
lngRow = findLastRow(Sheets("Uploaded").Range("A2"), "") + 1
Set rangeObj = Sheets("Uploaded").Range("A1:P" + CStr(lngRow))
Set adoRSSent = copyToRecordset(rangeObj)
Set rangeObj = Sheets("Uploaded").Range("A1:P" + CStr(lngRow))
Set adoRSSent_ = copyToRecordset(rangeObj)
Set rngObjNew = ThisWorkbook.Sheets("Lookups").Range("A1").End(xlD own)
Set rangeObj = Sheets("Lookups").Range("A1:C" + CStr(rngObjNew.Row))
Set adoRSIM = copyToRecordset(rangeObj)
Set rngObjNew = Nothing
Set rngObjNew = ThisWorkbook.Sheets("Lookups").Range("E1").End(xlD own)
Set rangeObj = Sheets("Lookups").Range("E1:H" + CStr(rngObjNew.Row))
Set rngObjNew = Nothing
Set adoRSEngi = copyToRecordset(rangeObj)
End Sub

Code B

Function submitPDRInfo(shtRng As Range, pInsQry As String) As Long
Dim con As ADODB.Connection, rs As ADODB.Recordset, r As Long
' connect to the Access database
Set con = New ADODB.Connection
con.Open "Provider=Microsoft.Jet.OLEDB.4.0; " & _
"Data Source=D:\Work\BonusMatrix\BonusReviews.mdb;"
' open a recordset
Set rs = New ADODB.Recordset
rs.Open "tblPDR", con, adOpenKeyset, adLockOptimistic, adCmdTable
' all records in a table
r = 2 ' the start row in the worksheet
Do While Len(Range("A" & r).Value) 0
' repeat until first empty cell in column A
With rs
.AddNew ' create a new record
.Fields("PDRID") = Range("A" & r).Value
.Fields("ManagerID") = Range("B" & r).Value
.Fields("Manager") = Range("C" & r).Value
.Fields("PayID") = Range("D" & r).Value
.Fields("EmpName") = Range("E" & r).Value
.Fields("PDRDate") = Range("F" & r).Value
.Fields("CreateDate") = Range("G" & r).Value
.Fields("KPI1Val") = Range("H" & r).Value
.Fields("KPI1Score") = Range("I" & r).Value
.Fields("KPI2Val") = Range("J" & r).Value
.Fields("KPI2Score") = Range("K" & r).Value
.Fields("KPI3Val") = Range("L" & r).Value
.Fields("KPI3Score") = Range("M" & r).Value
.Fields("KPI4Val") = Range("N" & r).Value
.Fields("KPI4Score") = Range("O" & r).Value
.Fields("Payment") = Range("P" & r).Value
.Fields("SubmittedBy") = Value.fOSUserName()
.Update ' stores the new record
End With
r = r + 1 ' next row
Loop
rs.Close
Set rs = Nothing
con.Close
Set con = Nothing
End Function

I cant see where its going wrong, How can I fix this? or even make it far
simpler. My main objective is that I have a userform in excel and on there is
a button which i want to click and then that sends data previously saved in
the report to a database for storage.

Jez





"David Sisson" wrote:

http://www.erlandsendata.no/english/...badacexportado


 
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
How do I access the access data via Excel 2002 with auto update ? karthik Excel Programming 1 February 9th 07 01:56 PM
Importing data from Access to Excel, but I need to vary the table from Access Liz L. Excel Programming 3 June 6th 06 02:12 AM
export access to excel. change access & update excel at same time fastcar Excel Discussion (Misc queries) 0 June 24th 05 09:27 PM
Access data -work in Excel- save in Access s_u_resh Excel Programming 1 October 25th 04 12:52 PM
Getting Access Error Messages when running Access through Excel Dkline[_2_] Excel Programming 0 October 12th 04 09:35 PM


All times are GMT +1. The time now is 07:30 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Copyright ©2004-2025 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"