Modules & VBA :: Use Criteria From A Table To Update A Category In Another Table
Jan 30, 2014
I have a table that has banking information in it (downloaded from the internet). I have a category field (lookup field) that I have to update manually so, for example, every time the electric bill is paid I have to click it and change the category to "electricity".
I want to set up a table with phrases for access to search for and a category to change to. For example if the banking table has "VIS ELECTRICITY 20812/773474868" and my search criteria table says anything with the word "electricity" should have category of "electricity", then I want Access to update the banking table based on that.
There will be several items in the search criteria table so Access will have to read through all of them to find the correct one. Is this possible?
I'm having trouble with my VBA module.I have a random test generator which pulls records based on a category from my table into a temp table using a make table query. I use the following code:
Private Sub Command2_Click() DoCmd.SetWarnings False DoCmd.OpenQuery "1", acViewNormal, acEdit DoCmd.OpenReport "WrittenExam", acViewPreview, "", "", acNormal Reports!WrittenExam.lblTitle.Caption = "Exam Name" DoCmd.OpenReport "WrittenExamAnswerSheet", acViewPreview, "", "", acNormal Reports!WrittenExamAnswerSheets.lblTitle.Caption = "Exam Name - Answer Sheet" End Sub
My querry makes the table, and then generates two reports (my exam, and the answer sheet). I'm getting an error 3211, saying the temp table is already in use by another process when trying to generate both reports. I used a Macro before, but I have a need for custom report headings, so I'm using VBA.
I have a table of categories with the columns: CatID | CatName | CatParentID
This way I'd like the ability to have unlimited subcategories.
My question is, how do I create a form that will let me enter the CatName with an autogenerated CatID, then enter a subcategory and select the first category as it's parent?
I have created a code below to test whether I can run a query and retrieve a data from an SQL server table. And so far I can return the result using a messagebox. but somehow I just don't know how to use this connection to update the table inside this access file. Basically I want to use this as a front end file. then when the form is open it will automatically update the table inside this access file and load the data to the combo box as a list.
Code:
Option Compare Database Sub LocalServerConn_Test() Set conn = New adodb.Connection Set rst = New adodb.Recordset
MS Access 2013: I have two database tables as below:
tbl1_MainDB --- It has a field named as "City" where I get huge data for some city names. Sometimes This field may have some unknown/new names which are not listed in our 2nd table ("tbl2_RefrDB")
tbl2_RefrDB --- It's a reference table which has raw names for cities, and then standard names of their city and state in another fields.
Target --- I want to create a VBA prorgram (Sql query) which can look from tbl1_MainDB.[City] to tbl2_RefrDB.[Raw_City] field, and if found then pick the "Standard_State" and "Standard_City" record values from there, and update into the 1st table "tbl1_MainDB".
...if not found in "tbl2_RefrDB" table, then user can be informed & ask for updating the new/unmatched city record as a new record in this table.
I'm trying to use VBA to update a new column in a table with info I already have in another table.The table I want to update is an inventory details table, it has around 25,000 records. I added a column called "UnitCost", of course the column is empty for all 25,000 records so I would like to fill it easily using DoCmd.RunSQL "UPDATE" feature.
I use that through-out the program however I'm unable to connect the dots for this one.What it needs to do is update "UnitCost" in "InventoryDetails" from "Products" where "InventoryDetails.ProductNumber" = "Products.ProductNumber"
The "Products" table has all the different unit cost, it just need to be placed in the "InventoryDetails" table for every record. Of course product1 needs products1 unit cost and product2 needs products2 unit cost, etc.
I am creating a report which is about 200 pages and would like to add a table of contents for each category i have with page numbers, however i have googled and tried many different things but to no avail and what it the correct way or even showing me on a sample database.
I have a form that run a query to select all the students taught by a given faculty member. Once the records are loaded, the faculty enters attendance data, selects a date from a combo box and hits a save button.I change my relationship and now need to be able to store the key for the field in the combobox and not the text.
How do I set the field, table and criteria in the update query to do this. The UD query uses the FacultyStudents query as its record source. Currently the FacultyStudents querry does not have the Key or the date fields since the date is selected by the faculty once their records are loaded. As I see it there is now way to make a join, so I think I either need VBA or SQL, which I am not very good (really bad) at wriitng. Can the necessary Sql be written in the query design view?
And I can display any existing question and make updates to the question and answer, that works fine. BUT, what I want to do is update which category a question is in. If I change the Category in the form, it updates the 'Category' in the Category table. What I want it to do is update the CategoryID in the question table.
I have a form, which i use to book in products received. What i want to do is if the quantity received is equal to what was ordered then i'd like to update a yes/no field (Order Complete) on a separate table to true.
Table Compression is currently used to enter the load applied to the sample followed by a query that calculates the 'compression strength' using the entered load and the surface of the sample.
What i would like to do is to import both the 'load' and 'compression strenght' from the machine.So i have managed to do an export on the machine (to Excel) and then made an import function which imports the content of the Excel file and puts it in a table called Compression_Import.
Is there a way of doing this using VBA? Or am i doing something wrong in the SQL statement?I have been trying to get this to work for a couple of hours, but after checking the internet for the last hour or so i can not get it to work at all..
In my database, I use TextStream.ReadLine to read a .txt file line by line and store pertinent parts of each line into specific fields in a table. One of these fields is called "Remarks", which is basically a descriptive paragraph of text explaining a task. Everything works great so far.
However, my leadership would like a condensed version of the "Remarks" field. The only way to really do this right now is for someone to manually read each "Remarks" field and create their own like condensed version of it. Let me give you an example...
Remarks: "Conduct Project Delta tests in association with IBS/SCADA systems and CIKR (Critical Infrastructure/Key Resource) cyberspace terrain, develop CPT certification processes and checklist."
Condensed Version: "Project Delta for IBS/SCADA and CIKR"
I've played with using Select Case to automatically create a condensed version of the Remarks field:
Code: Select Case True Case InStr(strRemarks, "SCADA") > 0 and _ InStr(strRemarks, "Project Delta") > 0: !Condensed = "Project Delta for IBS/SCADA and CIKR" End Select
However, this is too much VBA maintenance for each different thing that needs condensed. If a new tasking comes out, then I'll have to go into VBA and custom create a new Case for it. Multiply that by 10-20x each week.
Instead, I would like a form where my users can specify the criteria themselves. The Remarks field would be compared against the criteria to create a new condensed version of the Remarks field. I'm not sure how to go about this though. What I'm envisioning is this...
So each Remarks string would get compared against each criteria. If the Remarks string contains the words "SCADA" and "Project Delta", then the condensed version would be "Project Delta for IBS/SCADA and CIKR". If the Remarks string contains "OPSEC Assessment" then the condensed version would be "OPSEC Assessment". In the pic above, the form is based of another table that contains those fields in the form. I'm not sure if this is the most efficient method for my goal or not. Either way, I don't know how I would compare the Remarks string to records in this new table in order to create a condensed version.
I'm trying to search for a variable (varCod) in a table(SerialNumberCustomer) but I want to only store the returned variable in an array if its shipDate is between 9/30/2001 and 10/1/2012
this is what my code looks like so far:
Set rst = CurrentDb.OpenRecordset( _ "Select * from SerialNumberCustomer WHERE SerialCardId = " & varCod & " AND (ShipDate BETWEEN #09/30/2001# AND #10/01/2012#) ")
The line of code works and it returns all of the values in SerialCardId where it's = to varCode but it doesn't go through with the shipDate requirement. It's instead returning all of the dates with the found value.
I would like to make a DLookup that check 2 criteria in two different columns in the same table. The reason to use a DLookup is that I would like to check if two parts already have been linked together. The user therefore selects two values in to different comboboxes (lstLinkPart and lstLinkToPart). In this case the value of the first combobox is column: ComponentPN in tblProductLinkComponent. For the second (lstLinkToPart) column ProductPN, in the same table, has to be checked.
If both values from the comboboxes match the values in both (and only) columns I don't want to continue and made a code to be executed.
I found multiple examples on the internet for using multiple criteria but something similar to what I require.
We receive hundreds of items at the time capturing the item barcode and the userID. I want to improve the process capturing the UserID once and updated the table with this entry on all empty records on the table. I have created the following script but I doesn't work.
Private Sub Command7_Click() Dim strSQL As String Dim strUser As String
strUser = InputBox("Scan your badge") strSQL = "UPDATE " & tblGER_ReceivingLog & " SET " & tblGER_ReceivingLog & _ "." & UserID & "='" & strUser & "' WHERE ([" & tblGER_ReceivingLog & "]. & UserID & is null);" DoCmd.RunSQL strSQL End Sub
My database generates forms with a unique number displayed as a barcode. The paper forms are completed by employees and then scanned into a folder on the network in .TIFF format. I have seen other databases that can somehow pick up files like this and update the forms status in the database (i.e., Completed), assign a completion date and create a link to the file (a PDF actually).
I would really like my database to be able to do this but dont even know where to start. How do I get the file names for the .TIFF files to match the barcodes during the scanning process? How do I get Access to check a Completed field for each document in the folder? How do I get Access to put a link to the file in a field in the table?
I have inherited an old database with a new field to add some new invoice numbers and increment the number to each recordset by + 1. Starting at 001. I have formatted the field to a Number Field and formatted it to 000"/2015". I now need to populate over 2000 records with the sequential numbers for each record.
I have created the following code as my attempt. Of course it doesn't work!
Code: Sub AddNumbertoRecords() Dim db As DAO.Database Dim rst As DAO.Recordset Dim counter As Long counter = 1 Set db = CurrentDb()
So I have this code in an afterupdate event in an unbound text box to update the value of a table if the textbox is updated:
Code:
Private Sub txtCustRepID_AfterUpdate() 'Go to Calls table and find original value for CustRepID 'Fin the Call ID first Dim CallIDVar As Long Dim ContactIDVar As Long Dim CustRepIDOr As String CallIDVar = Forms![Contacts]![Call Listing Subform].Form![CallID]
[code]...
This code works well when entering numbers in the text box but it returns error 3061; "Too few parameters. Expected 1" when along with the numbers there is a letter in the textbox.The error happens in this part of the code:
Code: 'Accept change and add new value to table CurrentDb.Execute _ "UPDATE Calls " & _ "SET CustRepID = " & CustRepIDNew & " " & _ "WHERE CallID = " & CallIDVar, dbFailOnError
The underlying table has text as type of data for this field.
I have an access database that is used to store records of requests for for items. Example, ID, WhoRequested, CustomerName, Date, address, phone, WhatRequested, amt. I take this data and export it to an excel spreadsheet and send to another area for processing.
I then get the sheet back with the orderdate, ordernumber, and shippingnumber. I need to update the original table with this new information. it is not bad when there is only a few, but Ihave had 100 or so lately, and updating each record manually is time consuming.
I am building an access database to manage a data conversion from multiple legacy systems (62) to a new non access database, and plan on making my Conversion Database reusable and functionally simpler.All data is imported to one common Table structure, with the source system identified against each record.In my legacy systems values are not coded the same ie
Title: Mr Miss Ms Mrs Record Type: Active, Inactive System A: 1, 2, 3, 4 a , i System B: a, b, c, d 1 , 2 System C: x, y, z, w ACT, ,INA
This applies to sooo many fields.I want to avoid having a mapping table for each field as I will quickly have an unmanageable number of mapping tables, and complex relationships in Queries..I would like to get to the point where I could have a single value mapping table something as follows
System, Field, Old Value, New Value System A, title, 1 Mr System A, title, 2 Miss System A, title, 3 Ms System A, title, 4 Mrs System B, title, a Mr System B, title, b Miss System B, title, c Ms System B, title, d Mrs
And some how call this in VB to go through all fields and records in a table if Old Value is found for a specific "System" and "Field" Change to new value, if noting found on Mapping table keep existing data.
I have a split database ,and I need to update the Table default value of a field.Rather than go into the table I would prefer to use a form.I found this code but it wont work,I presume becouse my data base is split
Private Sub UpdateInvoiceReportNumber_Click() If Not IsNull(Me.txtDefValue) Then CurrentDb.TableDefs("PaymentsT").Fields("SelectInv oice").DefaultValue = Me.txtDefValue MsgBox "Default Value has been changed to " & Me.txtDefValue
I've set a database which has a table in which there are 2 fields "Account" and "Total Accounts". I want to have the amount of total summation of accounts in "Total Accounts" field of each record, which is the result of summation of "Account" values in all previous records till the current one. In order to do this purpose, I copied the value of "Amount" field of each record into "Total Accounts" field of the same record, at first. Then, I tried to add the amount of "Total Accounts" field of every record with just the amount of "Total Accounts" of previous one to earn the actual total amount of that record. I found that I need a VBA loop to do this query for all records (except first record) and so I code it as below, but it has the Run-time error '424' : Object required and it seems that I am in a mistake in definition of strSQL variable:
Code: Private Sub doDataSegm_Click() Dim dbs As DAO.Database Dim rs As DAO.Recordset Dim strSQL As String Set dbs = CurrentDb() Set rs = dbs.OpenRecordset("Table1", dbOpenTable)
I have a table 'table1' which has various field including an ID field and a yes/no field. I then have a form based on a query originally derived from data in the original table. The form provides a list with some ID's with a yes and some with a no.
I'm trying to write a button code to convert all the no's into yes' for those ID's picked out by the query.
I've searched lots of sites and get that I need to set recordsets for both table1 and the forms' query but all my efforts crash or give an error.
I am looking for the right way to say .." for each ID in form set the yes/no field corresponding to the same ID in table1 to yes"