Modules & VBA :: Append Query Depending On Check Box
May 5, 2015
I'm after a piece of code which works as described below.
I have a save button on a form
I have a append query ready to run.
When the save button is clicked, I want the code to see if a checkbox is true or not and if its true I want the append query to run if its not then I want the form to save and nothing else.
I have a form wich includes listbox of employees. When I click on them, it shows his or her data (date of birth,address,etc...). For every employee there are also three diferent checkboxes - if he is regularly employed, temporaly employed or student.So now what I need is to filter listbox of employees - only student or only regular or only temporar or all.I was wondering if I can do that with combobox, but I really dont know how. I am prety new to VBA.
I am giving two tables and I need to create a macro that automatically updates these tables depending on the value of a Yes/No field. If it's No, it's in the 1st table TableOne, if it's Yes it automatically updates to TableTwo.
So, the best way I saw to go about is to set up an append query and then create a macro that runs it
So my tables have the values FirstName, LastName and isValid (more but keeping it short)
So for my append query, I put TableTwo in the pop up I get. Then, where it asks for the field I put it
I do this for all (it was autocompleted except the Criteria field). I tried to keep Criteria with data only for isValid but that didn't work. I wrote it for all the field names, still didn't work. Whenever I click run it says it'll append 0 rows.
Can someone tell me why my check box selections on my form aren't inputting into my table?**BlueStreak and Rework are check boxes on both the form and tableINSERT INTO tblRules ( Origin, Destination, [Road to], Train, Block, Junction, [T/C], [L/E], [S/R], BlueStreak, Rework )SELECT Forms!AddForm!txtOrigin AS Expr1, Forms!AddForm!txtDestination AS Expr2, Forms!AddForm!txtRoad AS Expr3, Forms!AddForm!txtTrain AS Expr4, Forms!AddForm!txtBlock AS Expr5, Forms!AddForm!txtJunction AS Expr6, Forms!AddForm!txtTC AS Expr7, Forms!AddForm!txtLE AS Expr8, Forms!AddForm!txtSR AS Expr9, Forms!AddForm!chkBlueStreak AS Expr10, Forms!AddForm!chkRework AS Expr11;
I have a database used to manage teaching assignments (which kid is assigned to which teacher so to speak). I have this relationship defined through three tables, a teacher table, a student table, both with unique ID's. The third table is used to define the assignment. Also, the kid table has an extra GroupID. The group ID is what is used to define. So in the definition table, Teacher 1 is assigned to Group 1, and so on (though their may be 20 kids in group 1). When a new teacher is added to the teacher table, I need it to add it to the corresponding field in the definition table. The groupID is in the table as an Autonumber so that will populate automatically.
I need to appendTeacherID to tblassignment (TeacherassignmentID) and have only one occurrence of the TeacherID. So, if I have teachers 1-8 listed, each assigned to a group# in the tblassignment, and I add Teacher 9, I need it to add Teacher 9's unique ID to the TeacherassignmentID field without adding 1-8 again. I can't figure out how to "check" for ID's 1-9 and add only those I've added to the teacher list that aren't already assigned to a group.
I've tried a few different SQL queries append/select queries but nothing seems to do what I need it to do....
I'm currently making a signup form for a 6day event.
Certain details are taken (Name, Age, Contact no etc).
I also have a registration form; so when someone comes back for the second day of the event I tick the 'saturday' checkbox, or 'monday', or whatever the day is...
When someone comes to sign up for the first time, I'd like the form to automatically check the box for that day (to indicate their attendance). This would save me opening two forms to signup one person, if I make sense.
So, when someone comes to register on a Tuesday, I fill in all their details - and then it automatically checks the 'tuesday' field box.
I have a data field (status) that is either Graduated, Terminated, or Current. I also have a report that has a check box representing each (such as a check box for graduated and another for Terminated etc).
I am trying to get the report to read the status and check the appropriate box in the report.
I have tried this in the control source of the checkbox =IIf([status]="terminated";True;False) but this does not work
I have also tried this on the OnOpen
If [status] = "terminated" then termcheck = true else termcheck = false end if end sub
But this does not work either - what am I doing wrong :confused:
I have a form (Access 2010) that we use to keep track of client data. When I enter a number equal to 6 or above in one field (Client Rating and this field is actually formatted as text because it could be 6 or 6a, b, c or 7 or 7a, b, c, etc), I want anything =>6 to automatically check a box in another field which is the Watch Indicator box (a yes/no box), how would I do this?
I tried to create an expression like the below on the Watch Indicator check box and it does not work - not sure why - it did not say it was incorrect, I think I may have it in the wrong place?
I have a checkbox which when checked then turns textboxes to locked as below. However when I navigate to the next record which may not be checked the text boxes remain locked. I obviously want to lock the boxes depending on each record. I am navigating via the windows next/back record buttons. How do i do it?
Private Sub Check44_Click() If Check44.Value = -1 Then serial.Locked = True gain.Locked = True swst.Locked = True Else serial.Locked = True gain.Locked = True swst.Locked = True End If End Sub
I have two tables: tblModels and tblParts. tblModels has primary key ModelID; tblParts has primary key PartID, and also has a ModelID field that's hooked to tblModels's ModelID with referential integrity (cascade all). I have a button on my form that duplicates the model (creating a new record in tblModels and getting a new ModelID), and when that happens, I'd like for the duplication process to run an Append Query that captures all records in tblParts that matches the FIRST ModelID (the original one), and makes new copies of them in the same table, but then sets the ModelID for each new record to the NEW ModelID (that was created with the button press).
I have done this using TempVars in my Append Query, and everything is working great, except for when all the Parts records get copied and added, they all have the OLD ModelID on them, which essentially duplicates the records in the old Model and leaves the new Model empty of associated records!The Append Query is using the ModelID field to find the records I want, so how do I then get it to write a NEW ModelID to each record after they're added to the table?
EDIT: I thought of maybe doing the old TempTable, Append Query dumps to that, Update Query changes ModelID's, Append Query dumps them back to the original table... but that seems like the long way around.
I have a database where I am pulling my data in my subform from a tbl made by a make table query. However, Once a month the data will be updated and sorted by "Retrieve Date". I have made a function through a module that updates the queries with the latest retrieve date everytime new data is pasted into the database.
I am looking for a way to make the make table query only update the new data and not post records into the tables more than once. Should this be done by writing an IIF then statement and using an append query? I will copy the SQL code from my make table query below.
SQL:
SELECT qrySummary.CounterpartyName, Format([CDSsprd],"Standard") AS CDSspread, Format([Gsprd],"Standard") AS Gspread, Format([RatingsGrade],"Standard") AS RatingGrade, Format([BloombergCDS],"Standard") AS BloomCDS, Format([Avgerage],"Standard") AS [Avg], qrySummary.RetrieveDate INTO tblSummaryQry FROM qrySummary;
I'm using an append query that needs to add the records from another database into a table. I can get it to get the data and add the records. There are other columns in the database that are not in the one the data is pulled from. If I would run the append query again, it would add the same records again at the end. How can I avoid this? I only need to add new records that are not yet in the database I want to pull the records to.
The program I am working with has an option to add a new record to another table using a button. Not all the records, even new ones, need to be appended.
The append query works fine in all situations but one--when a new record is entered and saved, the append query button returns 0 records to be appended. However, if you go to a different record and come back to the one just added in the main table, the append query works fine. The query uses a TempVar to select only the record being seen at the time. The TempVar is declared prior to attempting to append the record to the other table.
Is there a way to make a just entered record act like its been around for a bit (well at least to save it by changing record to another and back)?
I have a main form which does nothing except filter subforms through a cbo.
On the main form are two subforms. One shows top line data, the other shows a breakdown of the top line data, and are linked by an unbound textbox (it's how it works, and does so perfectly)
I'm running an append query to duplicate a record in the second form using vba/sql BUT... need to have one of the fields values changed based on a field on the parent table.
If Forms!frmmain!frmPost.Form.RecordsetClone.RecordCo unt > 0 Then strSql = "INSERT INTO [tblposts] ( TopLineID, AccountID, TransDate, Cat, SubCat, Debit, Credit ) " & _ "SELECT " & lngID & " As NewID, AccountID, TransDate, Cat, SubCat, Credit, Debit " & _ "FROM [tblposts] WHERE TopLineID = " & Me.TopLineID & ";" DBEngine(0)(0).Execute strSql, dbFailOnError Else MsgBox "Main record duplicated, but there were no related records." End If
Credit and Debits are reversed as I want one to zero out the other.
In regards to the AccountID, I've tried allsorts and it's just not working... to the point I'm almost giving up and finding an alternative.
Whats the "Correct" syntax to attach a "WHERE" statement to the highlighted [AccountID]'s (which needs to be the value on AccountID on the Parent table)
I don't know how to bypass the problem. I have two tables : (1) Dett_Lav , (2) MaterialiConformita.
They are thus linked: (1) IDDett_Lav <---one - to- many ---> (2) Dett_LavID I'd like to preserve the referential integrity.
In vba I wrote down this codethat does work if I delete the referential interity, otherwise it fails due to (foreign) key violation. I do insert the absolutely necessary Dett_LavID with the append query, so I'm not sure where lays the problem and how to bypass it.
I have successfully used VBA to populate select query results into an excel worksheet on open, for a co-worker. Now I am trying to populate the records from an append query to the bottom of those results, which are now in a table on an excel spreadsheet, Contractor EIF. I am trying to make this work because my co-worker modifies the results in the table, deleting rows, adding fill color etc. and as new projects begin he would like those added to the projects already in the table (without rewriting the entire table).
Private Sub Window_Open() Dim strDB As String Dim strMyPath As String Dim strDBName As String
So I am building a database to track PTO. I already have a form set up with an append query but what I want to do it use a list of check boxes to create mass appends incase a large group of people leave, Holidays, etc. Instead of having to do them individually.
I have a part table summary with various quantities 1-1000 and want to create a new table where part number repeats with quantity of 1 corresponding back to the sum. If part 123456=20 then this would repeat 20 x and each record Qty=1
Start with summary --================ Part Qty 111000 2 222000 3
End result all Qty=1 --================ Part Qty 111000 1 111000 1 222000 1 222000 1 222000 1 --================
I stared with a loop and was able to get an append query to work referring to the quantity value (3) for one record from tbl_temp to tbl_main, but not really sure how to advance through many records.
For n = 1 To [Forms]![MainScreen]![Text7] DoCmd.OpenQuery "qry_Update_Qty" 'DoCmd.GoToRecord , , acNewRec Next n
I have a module that I am using to verify that file paths in my table point to valid jpg files. The table has grown quite a bit since I first created the module and it has gotten to the point where it's taking too long for the module to execute. I'm in the process of trying to change the record set for the module from the table to a stored query procedure but it's turning out to be a little tricky for me. When I execute the following module, I'm not getting any error code, it just doesn't seem to do anything at all. The bits in red are the parts I've changed. Before that the module executed as I expected it would.
Code:
Sub TestIt2() Dim strFileName As String Dim db As DAO.Database Dim rs As DAO.Recordset Set db = CurrentDb() Set rs = db.OpenRecordset("QryUpdateRevisionHistory")
Basically, what's the best practice or how do we store a query's value into an array then checking what the max or min value is and how to check if let's say "4" is in the array?
right I have auditing system in my database that tracks any changes made to any records. it logs it on a separate table and i show it on a continuous form.
right my problem is that I have loads of check boxes and text boxes on my main form on the form that records the main form I have a field call "new value" this is a text box but if I change a checkbox on the main form it will show -1 or 0 in the new value field on the recording form but I would like it to say yes or no I have tried the following
Code:
Private Sub New_Value_AfterUpdate() If [New_Value].Value = -1 Then [New_Value].Value = "yes" End If End Sub
this only works if I enter -1 manually but the data is entered automatically after the record is saved on the main form ...
I have also tried on enter before update I get error but now I need it to change on new entry...
hi Guys, I have been looking at different post and checking Microsoft help files as well, but still can't seem to fix this problem.
I am having 2 tables. The first table is connected to a form for viewing and entering data, and in the second table i am just copying 3-4 fields from the first table.
I am trying to use the insert statement to insert records in the second table, and everytime i click on the "Add" button to add the records i get the following error "MS access can't append all the records in the append query ... blah blah blah"
However if i close the form and reopen it, and goto the record (as it is saved in the first database) and now click on the add button to add the fields to the second table/database, it works.
I have a table (tbloutput) which has details of customers and which staff they have been contacted by.
What i want to do is, export the details from this table into an excel sheet using a template that i have set.
What i want to do is create multiple excel outputs using this template depending on the name of the staff. So each staff will have a seperate workbook which was created using that template. And i also want the new workbook to be named for that staff member.
So in short
Table exported to excel workbook and excel workbook named : Blabla staffname.xlsm