I know it is possible in Access auto assign a unique ID (primary key?) to each record in a table. I am creating records in a table using Excel and Visual Basic to write to a ".mdb" file without using Access. Is there a way to auto assign a unique ID within the coding?
The reason I ask this is if I had two users writing to the ".mdb" file at the same time, I don't want them to end up with the same ID's for two differend records.
Sub UploadRecord()
Dim DBName, DBLocation, FilePath As String
Dim DBConnection As ADODB.Connection
Dim DBRecordSet As ADODB.Recordset
Dim XLRow As Long, XLColumn As Long
Dim DataRange As Long
Application.DisplayAlerts = False
Application.ScreenUpdating = False
I have a document to track funding and would like to be able to auto-populate individual task sheets within the workbook based on a task drop-down. So if I choose Safety from the "Task Area" drop down it would auto populate the full row from the Master Sheet to the Safety Sheet. I have uploaded my document so you can better understand.
I'm trying to think of a way to do this. I need a unique ID number per company, so I would want it to look something like this:
0001: Apple 0001: Apple 0002: Google 0003: Sony 0003: Sony 0003: Sony 0003: Sony 0004: Ford 0004: Ford 0004: Ford
.....and on and on for about 400+ rows. I think I know how to state the condition. IF B15 =/= B14 then....assign unique ID, else A15 = A14....or something to that effect.
in col I are all the units of measurement: KG, PKT, BAG in ColJ is the formula to return:
KG as 9999999 PKT as 8888888 BAg as 7777777
if(i2=kg, 999999999,"false!")
i was thinking of using if....but triple if formulas would be long isn't it?
PART2 of this would be using: =IF((SUMPRODUCT(--(db!$A$2:$A$36000=$B$1),--(db!$F$2:$F$36000=C$5),--(db!$G$2:$G$36000=C$6),--(db!$E$2:$E$36000=$A7),--(db!$D$2:$D$36000=$B7),db!$I$2:$I$36000))=9999999,"KG","Invalid")
to check 5 values and if it is 999999999 it'll return KG 8888888 PKT 7777777 BAg
Possible to auto count and auto sum based on Unique ID.
Download link to the file in question [URL] ..........
So for Example ID 79125 should get a sum 537.39 and count should be 12, also in any given week like 50 , 51 , 52 , week 1 etc.., duplicate entries must be all counted as 1
I will post a rudimentary example: Account Name/Column A Truman school, San Diego Truman school, San Diego Truman school, San francisco Truman school, Atlanta Truman school, Atlanta
In column B, I would like it to assign a unique numeric id based on the TEXT only.
So Truman school, San Diego gets a string of numbers: 1234 Truman school, san fran: 1235 Truman school, Atlanta: 1236
My spreadsheet is about 6,000 records with a great deal of the above situation going on. So school names are identical with different locations assigned. I am trying to import to a database and don't want a lot of duplicate records. That's why I'm trying to assign a numeric value.
I don't want to create a function to use within a cell, I need the Sub to run through a user form. I have a Userform to create a new account, and need to add a 6 digit unique identifier after a predetermined prefix ("T" for toddler, "Y" for youth, and "A" for adult). The constraints are that it cannot be duplicated (this is for multiple children registered within the company). I have tried using the GUID but having difficulty stripping characters and adding the prefix (this was my fix inclination).
I have an excel sheet that has multiple rows for one PO number. I've created a row at the top to calculate all of the unique PO numbers in the sheet. However, I want to create another column that will give each unique PO number it's own ID number starting at 1. For instance:
Column B (PO Number) 4 - Counts unique values in B 219 219 219 220 220 221 222 222
Then in Column C I'd want 1 (unique number for 219) 1 (unique number for 219) 1 (unique number for 219) 2 (unique number for 220) 2 (unique number for 220) 3 (unique number for 221) 4 (unique number for 222) 4 (unique number for 222)
A worksheet has a column named "Grade". There are may entries into this column, and most are used multiple times. I'd like a list in another location (to use in a list box on a user form) that contains all of the unique entries in the "Grade" column.
I know how to do the Advanced filter for unique records, but when I add different grades to the column, the filtered list does not update to reflect the addition. Do I need to run a macro to run the filter after every new entry?
I have been modifying a workbook and the original macro will send to the sheet Results once the "Search" button is clicked, but I have found that this macro is displaying duplicate records. Can anyone help me put in an auto filter to find only unique records? My second workaround option is if someone can help me remove the go to/select sheet option from the "Search" macro so that a user will not automatically be sent to the Results tab and will instead hit the "Confirm Category Selection" button (which auto filters before sending the user to the Results tab).
I am creating an Access database from excel. In the code I get the Database and Tables name from Excel spread sheet and assign them to variables.
In the first table, & tblNamePrime &, I create a Primary Key called, [PrimeRecId]. I create a second table, & tblName & and try to create a Foreign Key called, [RecId] and try to Reference it to the table, & tblNamePrime & [PrimeRecId]. I always receive the following error message:
Syntax Error in CONSTRAINT Clause -2147217900(80040e14)
If I remove the code in blue it creates the tables but then I need to go th access and link them by access
I have tried many different ways and have followed instructions from SQL, Access VBA and I am unable to Link the Primary Key to the Foreign Key.
I am new at trying to tie Excel to Access and SQL.
The code below is just 2 tables but when I am done there will be a total of 4 tables all linked back to the first table.
Private Sub RDCModel() Dim dbConnectStr As String Dim Catalog As Object Dim cnt As ADODB.Connection Dim dbPath As String Dim tblNamePrime As String Dim tblName As String
'Set database name here 'MsgBox "Current user is " & Application.UserName dbPath = ActiveSheet.Range("C1").Value 'Database Name.........
The code below extracts unique distinct values from column A, except cell A1. Then the code adds the extracted unique distinct values to the combo box.
Sub FilterUniqueData() Dim Lrow As Long, test As New Collection Dim Value As Variant, temp() As Variant ReDim temp(0) On Error Resume Next With Worksheets("Sheet1")
[Code]....
The vba code below copies the selected value to cell C5 whenever the combobox is selected
Copy the code into a standard module.Assign this macro to the combobox
Sub SelectedValue() With Worksheets("Sheet1").Shapes("Drop Down 1").ControlFormat Worksheets("Sheet1").Range("C5") = .List(.Value) End With End Sub
Vba code belows instanly refresh the combobox when values are added/edited or removed from column A,
Private Sub Worksheet_Change(ByVal Target As Range) If Not Intersect(Target, Range("$A:$A")) Is Nothing Then Call FilterUniqueData End If End Sub
My problem is this:
Everything will be working fine if the all combobox and data can be found in 1 sheet, but how could i make some tweaks if the combo box is located in sheet 2 provided your data to be populated is in sheet 1, i tried everything but the combobox doesnt update,
I have been trying to break my new chart that combines stacked bars on the primary axis with their labels on a transparent line graph tied to the secondary axis. The secondary axis allows me to show the labels I want as categories and position them relative to the visible part of the stacked bar (waterfall style) proportionately outside of the bar. The trouble comes when my label positioning is less than or more than the primary boundaries. I can solve this manually by changing the max or min value of the secondary axis, but what I really want is for the secondary axis to be locked to the primary axis' max and min automatically.
Is it possible to use a formula to replicate primary and secondary lookup in SQL and is it possible to retrieve data from Excel spreadsheets using SQL.
I would like to generate a primary key for each line of my spreadsheet. My spreadsheet flows like so: Each row is an individual record. I have a status column that represents the status of each record. Ultimately, thie represents different forms of open status & then of course a closed status. The only other status is blank. When I go from blank status to non-blank I would like to generate a unique # that I can use key that I can it use refer to this unique record.
I have a VBA program in Excel that creates an Access Database. There are 4 tables and below are the SQL statements that create the Database. There are more fields associated with each table. When I go to Access the tables look great and I do not get any error messages.
[code] ...
When I send, “write” records from Excel to the tables the record's data is written correctly, the AcountInformation [RecId] updates with an auto number correctly the Primary Key auto number of each of the subsequent tables updates correctly.
The Foreign keys do not contain the record number from the, “refers back to AcountInformation [RecId] Primary Number”. Every thing works except the updating of the Foreign Key
I have tried everything even going into access and manually deleting a record from AcountInformation table to see if it deletes the appropriate records in the other tables and updating a record. It does not update and or delete the records from the other Tables.
The bottom line, Access does not pass a Primary key number to the Foreign Key.
I have a chart with sales data on one axis and inventory on a secondary axis. I have the average of each columns of data and want to add a reference line to each axis with it's average. I have added the averages to my data set, but it only adds the reference line to my primary axis. I actually began by manually inserting two lines to the chart (which seems asinine). They actually didn't print because they weren't actually on the chart, but rather just on the spreadsheet behind.
I have this spreadsheet that has over 20,000 rows. I was asked to build a search page to will bring back all transactions based on a primary key (account number). Here is a sample:
I have a sheet which I need to arrange and it looks like -
Column A Column B Column C Column D
[Code]...
the values in Column B, C , D , E & F need to be in new columns based on what we have in Column A associated with "1"
Output should be - Column A Column B Column C
[Code]....
so whatever is in Column A associated with "0" should remain in place whereas whatever is in Colimn A associated with "1" should get added to the new columns. 0 and 1 resembles the 1 Records which are used as a split to normalize the data.
It all works fine but I've noticed an odd quirk which I can't explain nor can I seem to fix. Here's the (reduced) code :
Code: Dim appExcel As Object ' Excel Application Dim chtPareto As Object ' Chart Set appExcel = CreateObject("Excel.Application") Set chtPareto = appExcel.Charts.Add With chtPareto ' Primary category axis
[code]....
The category (x) axis title should be horizontal, whereas the value (y) axis title should be rotated. Stepping through the code, when I .SetElement for the category axis title, it appears horizontal as planned. However, as soon as I .SetElement for the rotated value axis title, the category axis title also rotates.
The following code works to update the target sheet based on matching column names within the source sheet.
However, I would like to bolster this by not only updating based on matching field names, but also the primary key in column A. Meaning the data from the source sheet isn't always in the same order (based on primary keys) as the data in the target sheet. So I want to keep the order of the primary key in the first column and then update matching field names in column B through the last column where the primary keys match between the source and target worksheets.
Sub CopyDataBlocks() 'VARIABLE NAME 'DEFINITION Dim SourceSheet As Worksheet 'The data to be copied is here
I am in the process of making a database more efficient and am running into a problem with sorting data. I currently am trying to use AutoFilter to sort the data. When I want to then narrow the results further using the same column as the critical and there is nothing that matches the critical, I get everything from the entire database that matches that critical rather than what I want to see, which, in this case, would be nothing.
I have attached a sample file. In it, when All AF 1000 is run and then Selected MAC 2000 Wash is run, I want to see no results instead of seeing all MAC 2000 Washes from the original data set. I can do it using IF/THEN but I am looking for a faster way to do it.
If I have multiple entries with different but repeatable text values in one column - how do I count all unique ones ? Is there a function or does it have to be a pivot table of sth ?
Each product is represented by a serial number (column A). The can be sorted on column A from smallest to largest prior to calculating results if that helps.
The repair list contains 1 entry per spare part used, so the same serial number may occur several times.
Furthermore, a product may have been repaired on several instances - so the serial numbers can span several dates (column B).
The solution i am looking for should return the number of unique repair dates per serial number. That way i can see, how many times each product has been repaired. Results can be displayed in an individual column.