Updating Access Record Via Excel VBA
May 24, 2012
I currently use a function very similar to this one with a SELECT query to return a field to excel. I have modified this into an UPDATE query to update a field.
I am getting errors at this point:
Code:
If adoRS.BOF And adoRS.EOF Then
DBNoteUpdate = "Value not Found"
Else
DBNoteUpdate = "Action Confirmation"
I believe this area of code was to trap the error that occurs when the lookup field name was not found in the table. I left it in because I still want to trap if the record I am trying to update is not found in the table.
Here is the full code:
Code:
Public Function DBNoteUpdate(RecordNumber As String, _
UpdateTableName As String, _
UpdateNote As String) As Variant
Dim adoRS As ADODB.Recordset
If adoCN Is Nothing Then SetUpConnection
[code].....
The code does work, in that the record is being sucessfully updated by the SQL statement, but its erroring at the point I described above with the error:
Code:
Runtime Error '3704':
Operation is not allowed when the object is closed.
how 'adoRS' is closed at that point because the call to close is right at the end of the function?
View 8 Replies
ADVERTISEMENT
Mar 29, 2012
I have a CSV that I have a excel macro created to do some formatting and then export the data into Access. that part works. I also have it checking for duplicate entries and skipping them. The problem that i run into is that not all my duplicates are truly duplicate, there have been updates and now i need to update Access. I have 2 fields, my primary key which is what I'm primarily matching on and then I'm checking if its been updated by checking another field "Last Changed" If this field doesn't match then I need to update the record.
At this point I'm trying to use a SQL UPDATE and I now believe that i have it formatted correct but when it gets to a record that needs to be updated I get an error: Run-time error '-2147217887 (80040e21)': The changes you requested to the table were not successful because they would create duplicate values in the index, primary key or relationship. I'm not sure what I'm doing wrong. the only other thing i could think to do would be to check each field to see if it has changed and just run the query against that but I feel like i would run into the same issue.
This is how I'm connecting to Access:
Code:
strTableName = "TableName"
strDBLocation = "xxxxuserhomexxxxxxxxxxxxDatabaseDatabase Backend.accdb"
strConnect = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=" & strDBLocation & ";"
Set cn = New ADODB.Connection
cn.Open strConnect
Set rs = New ADODB.Recordset
rs.Open strTableName, cn, adOpenKeyset, adLockOptimistic, adCmdTable
And this is the Query I'm using:
Code:
strSQL = "UPDATE " & strTableName & " "
strSQL = strSQL & "SET [Work Order ID] = '" & Range("B" & r).Value & "', "
strSQL = strSQL & "[JOBSTATUS] = '" & Range("C" & r).Value & "', "
strSQL = strSQL & "[SUBSTATUS] = '" & Range("D" & r).Value & "', "
strSQL = strSQL & "[Job Status] = '" & Range("E" & r).Value & "', "
strSQL = strSQL & "[STATUSDATETIME] = #" & Range("F" & r).Value & "#, "
[Code] ..........
The SQL code sits in a loop with an IF so it shouldn't execute every time and I plan on once i get this working to revisit this code and try to optimize it but that is not a priority currently.
I'm using both Excel 2007 and Access 2007 on XP.
View 7 Replies
View Related
Jan 24, 2014
I've been trying to make this work for hours and hours and am finally giving up. Most of this code was found on the internet and I've attempted to make it work for my project but I keep getting errors. I use VBA with Excel quite often but never with Access before. Currently I am getting an "Object doesn't support this property or method" error at rs.Findfirst.
I have an excel worksheet that mimics the access table with five fields, an ID field, lastName, FirstName, DeptID (int), Email. I want to search the Access table for a match on the email field, and if it doesn't find the match, to add a new record using values typed into the excel sheet.
Code:
Sub UpdateDB()
Dim cn As Object
Dim rs As Object
[Code]....
View 2 Replies
View Related
Jan 5, 2012
In Excel 2007, I have a tables linked from Access 2007. I frequently delete and import a new set of data into Access, then refresh the Excel file. Most of the time this works, but I've noticed sometimes one column doesn't refresh (even though I can see it in Access). If I modify the field name in the Access query, then refresh the table in Excel the newly named field is added in the in the last column of the table with current data. The column that wasn't refreshing stays the same.
When I originally created the link in Excel, I added various columns with formulas, but do not edit the columns that are imported from Access.
View 6 Replies
View Related
Feb 9, 2012
I am trying to check for the existence of a record in an access table and do one of the following:
1. If the record exists, overwrite it in the table.
2. If the record doesn't exist, add it to the table.
I'm having real difficulty with the VBA code to check an Access table for the existence of a specific record, and then overwrite. I can do it with dates, but I'm looking for a unique record ID "300112_1_II" and it's trowing up a "Type mismatch" error.
For testing purposes, I'm using the following parameters:
Field = Field_1
Table = TBL_1
Record ID = Test_Record
Basically, I want to check Field_1 for the existence of Test_Record and then either edit the other fields in the record or add a new record, depending upon what it finds.
View 1 Replies
View Related
May 25, 2007
I seek advice on using the value of NOW() as a record ID in an address book program. Question #1: Do Excel developers often use a record ID? Question #2: What record ID schemes are fequently employed besides date/time? I have decided to create an Excel address book as an exercise to increase my knowledge of VBA, and also as a useful application for work.
I realize that a record ID is not essential in Excel in the way that it is essential in Access, but I feel the need to have some unique ID associated with each address, so that I may have different worksheets, with data related to a given Contact, sort and manipulate it, if necessary, but have the record ID as a way to restore the relationship of rows to a given Contact, and also, as a handy way to examine the data in the date/time sequence in which it was entered. I have experimented with the following code, to assure myself that I can access the number returned by the NOW() function, manipulate it as a string, and format in various ways if necessary.
Dim n As Double
n = Now()
sn = Str(n)
p = InStr(sn, ".")
first = Left(sn, (p - 1))
l = Len(sn)
d = l - p
S = Mid(sn, (p + 1), d)....................
View 2 Replies
View Related
Apr 7, 2014
I am trying to compare values of an item one year vs the other in excel 2010. So my spreadsheet would look like:
A B C D
028042$500,000.00028042$500,000.00
028349$300,000.00028349$300,000.00
028390$300,000.00028390$300,000.00
028498$100,000.00028498$100,000.00
029477$135,140.00029477$135,140.00
030374$452,865.45030374$452,865.45
030375$452,865.45030375$452,865.45
What I am trying to do is compare A and B vs C and D to see if the cost associated with the number in A is the same as it is in C(which is obvious it is in this example but I have a spreadsheet with thousands of entries). Additionally, the AB value might be anywhere in the CD columns not just in the row next door.
View 12 Replies
View Related
Mar 16, 2014
I am creating an asset management sheet. For the formula I am trying to work out there uses 3 fields : ID, start date, and end date.
What I want to do is be able to show if the ID is duplicated within another record with an overlapping date. So an item is flagged if it is in the list within the same dates as another record. I tried a few countif formulas but with no success.. I may just be approaching the problem incorrectly though.
View 1 Replies
View Related
Jan 11, 2007
Can I Restrict Excel Data Form only for appending new record. (No deletion allowed) and also Can I save Data Form in the File? Is there any way, whenever we open the file Data Form should popup?
View 9 Replies
View Related
May 14, 2007
I need a front worksheet with either buttons or tick boxes that will list different options for a machine
Once a tick or push button is activated a hidden block of text related to that specific tick box needs to be selected and placed onto a final print out sheet (allocation)
when futher boxes have been ticked I would like all the information blocks to build up on the final print out sheet.
View 10 Replies
View Related
Dec 18, 2007
There are many examples and aspects to compare these 2 products but I just want to point one little difference which is quite crucial and interesting.
Generally if you use small amount of data - 1 Worksheet / 5000 rows / 20 columns you can use Excel without bothering about the execution time, queries and work fast and convenient with it.
The point on Excel is that in 1 Column/Row you can differently Format the data(cells). For example - format as Number or Hour the cells in Column B depending on the data in other columns. That saves you from making 2 Columns - one for Numbers and another one for Hours. This helps you to save 1 of the columns when the data structure in other column is the same.
In Access (and generally all SQL DBs) this is not possible.
View 9 Replies
View Related
Apr 14, 2008
I have excel 2007 and I want to record a macro. I have enabled all macros via the Trust Center settings and have even saved the current workbook (created from scratch in 2007) to a macro-enabled version.
But when I click on the 'developer' toolbar, 'record macro' is grayed out.
View 9 Replies
View Related
Jun 2, 2014
i have an excel database regarding about 1000 different schemes having the details of their initiation date, budget allocated , up to date expenditure, this month expenditure and many others too. this is a shared workbook and relevant officers enter their data in their relevant columns and rows. the file is shared. now i want that any changes done by mr. A, for eg. at record No. 09 could be intimated to Mr. B who is working at record No. 560. may be via msg box or any other source.
View 1 Replies
View Related
Dec 6, 2013
Had 2003 now 2013. Trying to get the macro to select different printers for different doccuments. 2013 macro recorder does not record any printer info or path, all printers show the same wording just application print...
How can I get the recorder to acurrately record and diferentiate printers?
View 2 Replies
View Related
Jul 15, 2014
I'm trying to tweak this code from a previous form I created but I'm getting a compile error message. On my old form...the first box was a combo list box where the person entering data would select a value. On the new form, its a text box where the person will enter the value. I thought I could just change the me.cbo[name].listindex to me.tbo[name].listindex - but that seems to be causing the issue. I'm not sure what I would put after the me.tbo[name]. to get the code to run...
Code:
Private Sub cmdAdd_Click()Dim lRow As LongDim lPart As LongDim ws As WorksheetSet ws = Worksheets("DataNEW")'find first empty row in databaselRow = ws.Cells(Rows.Count, 1) _ .End(xlUp).Offset(1, 0).RowlPart = Me.tboProdCode.ListIndex
View 8 Replies
View Related
Mar 6, 2012
I have 2 excel workbooks - each containing one table.I have 1 Powerpoint Prtesentation with OLE Links to the 2 tables.
All I want is for any update in the excel tables to show in the running PP Presentation. The annoying part is when I set up the linked objects, everything works perfectly and any changes in the excel files update real time in the PP presentation.
As soon as I close the excel file and reopen though, from thereon in I have to update the links manually.
Things I have tried:
A PP Add in called "Update Links" which updated the OLE links on every rotaion of the show. This would be a fine workaround if it didn't stop the slideshow if/whenever someone was updating one of the source files with the "file is already open..." message...So set both source files to shared as PP will only be reading the data anyway. Still the error appears.Inserting some code into PP:
Code:
Sub linkupdate() Dim osld As Slide Dim oshp As Shape For Each osld In ActivePresentation.Slides For Each oshp In osld.Shapes If oshp.Type = msoLinkedOLEObject Then oshp.LinkFormat.Update Next oshp Next osld End Sub
All I want to do is update the links without stopping the slideshow. I have tried numerous PP approaches, but maybe there is an Excel solution that will update links automatically on each save.
View 1 Replies
View Related
Jun 26, 2012
I have two Excel sheets (test-excel-1.xlsx & test-excel-2.xls)The test-excel-2.xls will never be opened. When I update cells in test-excel-1.xlsx and save, I want them to automatically update to the test-excel-2.xls without having to open it. I have tried the "='[test-excel-1.xlsx]Sheet1'!$G$4" but that needs me to open test-excel-2.xlsI also want original values to be pasted in test-excel-2.xls rather than the code (this is later used in another program).
View 6 Replies
View Related
Jan 16, 2012
I have an excel file which is shared by multiple users. I would like to make one person to have read,write or edit permissions and rest of the users to have only read only permissions.
View 1 Replies
View Related
May 22, 2012
I am trying to access another program via Excel VBA. The idea is that, we fill out out time and attendance sheets for work on excel workbooks. But, we have to go into a terminal program to enter this information so it can be uploaded to whereever it goes.
I am able to get the Shell command to work. But, it will be riddled with sendkeys commands and application.wait. I am sure that this is not the best way to program something like this. I believe I read that for this to work that it has to be COM compliant. I don't know. The program is a Java based terminal program.
This works for me
Code:
ShellExecute 1, "Open", "C:UsersPublic******lib***_core.jar"
But this does not
Code:
CreateObject "C:UsersPublic******lib***_core.jar"
It gives me a Run-time error 429, ActiveX component can't create object.
View 1 Replies
View Related
Dec 16, 2013
I'm running an Excel program such that the user inputs a variable. The program opens an Access database which is linked to the Excel sheet where the variable is stored. Access then runs macros containing queries based on that variable. I've noticed that the link to Excel is slowing performance and I'd like to speed things up, some code that would allow me to plug the variable into Access for use in the query without having to link to the Excel workbook.
This is a piece of the code I use in Excel which runs the Access macro:
Code:
For iter = 1 To bottom_row - 1
If IsEmpty(MyMacro(iter)) = False Then
Set AccessApp = CreateObject("Access.Application")
With AccessApp
[Code].....
Everything works well as-is; it's just slower than I'd like. Due to other constraints I'd rather not go into here, I really am forced to use this kind of Excel/Access interaction. In other words, the user must use Excel to run an Access query.
View 5 Replies
View Related
Feb 17, 2014
I am trying to import database records into Excel, but i keep getting an error "run-time error 424" on the code below.
It is probably something simple, but i havent tried importing from Access to Excel before.
The code below should clear the data from "Existing" and then copy the data from test.mdb into the same sheet.
The error occurs when opening "Data Source"
Code:
Private Sub Workbook_Open()
Dim cnn As New ADODB.Connection
Dim rst As New ADODB.Recordset
Dim dbCommand As New ADODB.Command
RowCount = Worksheets("Existing").Range("A" & Rows.Count).End(xlUp).Row
Worksheets("Existing").Range("A2:V" & RowCount).ClearContents
[code]....
View 9 Replies
View Related
Jun 29, 2007
I am trying to open an access database from excel by clicking a button. I have assigned the following script and modified it for my own use as according to the microsoft kb.
Private Sub CommandButton2_Click()
'Opens Microsoft Access and the file nwind.mdb
Shell ("c:Program FilesMicrosoft OfficeOFFICE11MSACCESS.exe T:TSD - UKProjectsSteve's ProjectsT3FCRs.mdb")
'Initiates a DDE channel to Microsoft Access
Chan = DDEInitiate("MSACCESS", "system")
'Activates Microsoft Access
Application.ActivateMicrosoftApp xlMicrosoftAccess
'Runs the macro "Sample AutoExec" from the NWIND.MDB file
Application.DDEExecute Chan, "ImportData"...........
View 9 Replies
View Related
Dec 17, 2008
I use Excel 2003 and am trying to import information from an access database. The recordset I am looking for is based on Cell B3 on a worksheet named Import.
Is there a way that Excel VBA Can do this?
The recordset contains text in the standard of Memos, Will I be able to import the entire Memo?
View 9 Replies
View Related
Oct 11, 2011
I am using office 2011 for MAC, and am trying to create a macro that changes the color of the selected cell(s).
if I start recording the macro
click the fill color button pull down and change the color on the edit section of the ribbon
Stop the macro
No code is recorded as below but the cell did change color to whatever I selected.
Sub Macro13()
'
' Macro13 Macro
'
'
End Sub
[code].....
The colorIndex is automatic no matter what color I choose.
When I run the macro there is no change to the selected cell, but the border is destroyed.
View 2 Replies
View Related
Apr 10, 2013
MS Excel 2010, WinsXP
how to highlight an entire record based on the value of a single cell?
I would like to highlight all records grey where cells in a column = "closed".
View 4 Replies
View Related
Apr 14, 2014
30 people in different countries use a sophisticated VBA Excel file on their local PCs, let's call it myexcelfile.xls. This file contains no custom data, as all data is stored in myexcelfile_backup.xls.
The biggest challenge with this set up is that whenever there is a newer release or bugfix of myexcelfile.xls, I need to send it out per email to 30 people and hope they replace it with my updated version.
Note that newer versions can replace older versions without any data loss, as all data is stored in the backup file.
Idea: with tools like WGET or BITSADMIN, I was thinking of creating a batch file, that would simply download the latest version from a FTP server, and replace the older version with the newly downloaded one.
Constraints: I shouldn't be using any software that is not native to Windows 7the files can sit in different folders on these 30 computers, therefore the update mechanism would have to identify the path they are in.the update mechanism would have to close the file first before running the update. Question: What is the best way to go about this? A DOS Batch file? Or another excel file that is just the "updater", meaning, it's only purpose is to download the new file from the web and overwrite the old file?
View 1 Replies
View Related
Jul 23, 2012
I want to write a interface program using VB Macro, for updating the Excel Table values into SAP Tables. Is there any macro that can do this work?
View 4 Replies
View Related
Aug 14, 2012
I am using the Format as Table feature in 2010 and I am summing a range of cells (C2, D2 and E2) with the result in F2. I have linked F2 three rows below the table in cell C5.
When I add new data in the 3rd row in the table feature I can get an updated result in F3 but my linked cell does not update as it is now pushed to cell C6.
How can I have the linked cell update with the new total from cell F3 as it moves relative to the table?
View 1 Replies
View Related
Oct 8, 2012
I've got Excel 2002. I am devising a sheet for checking work (sheet A) which feeds onto a separate sheet (sheet B). If I wanted to delete info from sheet A can I retain the info on sheet B? I want sheet A to be used repeatedly for each case but the info for every case to be recorded row by row on sheet B.
View 4 Replies
View Related
Apr 5, 2013
I have below format in excel and i will be updating scores for each parameter (column B).
I will be inserting a command/click button and when i click on the button macro should take the name, contact No., scores from column B and paste it in sheet 2 in the same workbook in one row, in the same way when I click the button the scores should be taken from sheet 1 column b and paste one below other row in sheet 2 each time i click on button.
Below is how raw data looks like.
Column A
Column B
Name:
ABC
Contact Number:
XYZ
Parameter
Score
[Code] ..........
Output expected in sheet 2 is as below.
Name:
Contact Number:
Parameter A
Parameter B
Parameter C
Parameter D
Total Score
ABC
XYZ
2
5
6
7
5
I am using Excel 2010.
View 5 Replies
View Related