Ok, so I've inherited a db that was created in 97 and I had to convert to 2000. I've battled through all the DAO code issues and the new db works like a charm. Almost. It's an equipment tracking db in which many fields are tracked and updated. The action in question updates those fields in one shot. example a piece comes back from repair and I want to place it back in stock, change status from "maint" to "rfi", and update dates. It also works the opposite way. But it's the same thing. Regardless, when I get to the point of updating I get the "Item is not found in this collection". So now I'm stumped because I'm not sure what I need to add to make this work. Here's the code (note, I removed the .edit lines. Didn't change anything) One question is, what line in this code allows the item to be found? And why won't it find the item in my 2000 version? Again, I get no errors in the code, I just can't seem to connect this update to my db (I guess that's what I'm saying):
Private Sub Command21_Click()
On Error GoTo Err_Command21_Click
Dim Msg As String
Dim Response
Dim stDocName As String
Dim db As Database, rs As Recordset
Dim strSerial As Integer
Dim strRepSerial As Integer
Msg = "This will update this device's Status. Are you sure you wish to continue?"
Response = MsgBox(Msg, vbYesNo + vbExclamation)
If Response = vbNo Then
Exit Sub
Else
If Me!Status = "Maint" Then
Dim stDocName2 As String
Dim stLinkCriteria As String
stDocName2 = "frmRecertDate"
stLinkCriteria = "[Serial#]=" & Me![Serial#]
DoCmd.OpenForm stDocName2, , , stLinkCriteria
End If
DoCmd.SetWarnings False
'get Serial# of device selected for return to stock
strSerial = [Serial#]
Set db = DBEngine.Workspaces(0).Databases(0) ' Get current database.
Set rs = db![Total Device Listing].OpenRecordset() ' Open table.
rs.Index = "PrimaryKey" ' Set index."
rs.Seek "=", strSerial
If Me!Status = "IT/Return" Then
DoCmd.SetWarnings False
DoCmd.OpenQuery "qryClearRepl"
DoCmd.SetWarnings True
With rs
.Edit
!devicecReturned = True
!Status = "RCR"
!Recall = Null
!Location = "holding"
!Acct = "123421"
rs.Update
Refresh
rs.Close
End With
Else
With rs
.Edit
!deviceReturned = True
!Status = "RFI"
!Recall = Null
!Location = "stock"
!Acct = "234234"
rs.Update
Refresh
rs.Close
End With
End If
End If
Exit_Command21_Click:
Exit Sub
Err_Command21_Click:
MsgBox Err.Description
Resume Exit_Command21_Click
End Sub
Table: Relationship PK: RelationshipID int (Indexed No Dup) FK: ContactID int (Indexed No Dup)
Table: Contact PK: ContactID int (Indexed No Dup) FK: RelationshipID int (Indexed Dup Allowed)
I also have following Local vars: @Contact1 int @Contact2 int
How do I create an UPDATE statement that will read RelationshipID in Relationship where Relationship.ContactID=@Contact1 and use it as the value to update the Contact.RelationshipID for all records in Contact where Contact.ContactID = @Contact1 or @Contact2
Hope this makes sense?
Also please let me know if I should post this in the SQL area instead.
I am on Access 2007, and know very basic stuffs to create tables, queries, and form search. I have just successfully completed a search form filtered with a combobox. Also I have a built-in subform within the main form to display other results as well. The display results are based on one complex query (relational query). Now I need to add a command button that would take me to another form to update the current record found.Quick on the design:
- When I search a subject in a main form(subject lists in the combobox), it would populate results below in the main form and also subform would populate other results as well.
1. Add a command button so can take me to new form, but would need to have the current record populated. 2. Once updated, then how do I save it?
I just want to know how to manage items in set and individual item. Suppose my product list are
individual items = A,B,C,D,E,F,G,H,I,J,K and 5 pc set = A,B,C,D,F and 3 pc set = G,H,K
How should I design the table. Previously I designed the table for individual items and whenever orders for set is placed user had to enter individual items with quantity.
E.g. order is for 5 pc set = 3000
A=3000 B=3000 C=3000 D=3000 F=3000
Now I need to just say 5 pc set and it should be automatically populated. And also if order have combination of individual and set items.
mY Access database short cut is giving error...like Access datbase fiel could not be find on specified location. When i open the database rather than from shortcut giving the same error.
But when i go into server and open there it works fine.
I am trying to import a table from a notepad doc and i get an error message " The search key was not found" Please can someone explain to me what this is about and if there is a solution for it. Does this have anything to do with size of the database beign too large?
I have a simple one table database which I made a few weeks ago to print letters. All was working ok until I hit record #14, I enter the client details and when I quit the database an error message appears saying 'The search key was not found in any record.' with an option to hit OK or Help buttons. If I hit OK another message box appears saying 'You can't save this record at this time.' and stating that Access has encountered an error & if I close the database I will loose any changes etc...
If I do close it, most of the data I have entered turns to chinese characters & the rest doesn't even ressemble anything close to what I have inputted. Strangely enough records #15 & 16 work ok and the error only seems to be when I alter the data in the postcode field on record #14
Hi. I have two tables, both with load of info. I need to run a query, that checks data in table1 against data in table2. If it is in table two, then moves on. If it is NOT, then shows the results to me. So that i can see which ones were not there. how do i go about that.
I'm in the midst of a database where a subform 'producttotal' textbox 'txttotal' would be automatically filled with a value from the mainform combobox 'product'. my code is Private Sub Level_AfterUpdate() Forms!sbfproducttotal![txttotal] = Me![product].Column(1) End Sub
However, on testing it, I get a runtime error 2450. MS Access can't find the 'sbfproducttotal' referred to.
Do you have any idea what the problem is? Any words of advice would be welcome. Thanks!
I have copied a copy of my system onto a user's computer to start using the system. However, when the user tries to open the system, all of my forms that use Date() come up with some error. Then it goes on to show me an error message saying "VeenLR3.hlp can't be found". That's actually a help file. I have copied all the files in this drive, "C:Program FilesCommon FilesMicrosoft SharedVBA" from my computer onto hers but the error still shows up.
Hi Folks, This is a Combo box, which I have changed to Text Box to search records based on the PRO Number entered. This works fine but if its not find a record, the form displays the first record in the table. How can I prevent this and just show a message that this record is not found and enter again.. "
**************** Private Sub Combo143_AfterUpdate() ' Find the record that matches the control. Dim rs As Object Set rs = Me.Recordset.Clone rs.FindFirst "[PRO] = " & Str(Nz(Me![Combo143], 0)) If Not rs.EOF Then Me.Bookmark = rs.Bookmark End Sub **************** I have tried with the following but not working... If Not rs.EOF Then Me.Bookmark = rs.Bookmark Else msgbox("Record not found") end if I also want to hold control back on the box after displaying the message..
We are running Access 2002 on Win2k. The database has been split into front and back ends, and synchronization occurs directly over LAN with 7 replicas. During synchronization I received a failure message "The search key was not found in any record. (Error 3709)."
I have tried several things found on Microsoft KB and other forums-- Compact and repair, removing indexes from memo fields, updated Jet and Microsoft Data Access Components-- but nothing has worked. Does anyone have any ideas on this one? Thanks, James
I have been using the below code for several months to export to excel. Lately I get a run-time error 53 - File not Found. I have not changed anything, so what could be causing this issue. The debugger stops on the line "FileCopy sTemplate, sOutput"
Public Function ExportRequest() As String On Error GoTo err_Handler
Dim dbs As Database Dim qdf As QueryDef Dim frm As Form ' Set database variable to current database. Set dbs = CurrentDb() Set frm = Forms!AOSummaryReportForm ' Open QueryDef object. Set qdf = dbs.QueryDefs("AOSummary") ' Set parameters for query based on values entered ' in AOSummaryReportForm. qdf.Parameters(0) = Forms!AOSummaryReportForm!StartDate qdf.Parameters(1) = Forms!AOSummaryReportForm!EndDate
' Excel object variables Dim appExcel As Excel.Application Dim wbk As Excel.Workbook Dim wks As Excel.Worksheet
Dim sTemplate As String Dim sTempFile As String Dim sOutput As String
Dim rst As DAO.Recordset Dim strSQL As String Dim lRecords As Long Dim iRow As Integer Dim iCol As Integer Dim iFld As Integer
Const cTabOne As Byte = 1 Const cStartRow As Byte = 2 Const cStartColumn As Byte = 1
Can't figure out why I can't create a one to many relationship between two tables:
TableA uses a composite key as its primery key (field1, field2). The table has a unique index comprised of these keys. The index even has a name. The table also doesn't contain any duplicate information, so the fields comprising my Primary Key are unique. The table I'm joining tableA is unpopulated at this time.
Hey everyone, Even though I'm going to feel like a moron for not knowing this I'm hoping there is a simple answer. I'm far from a master at access, and seem to be having a little trouble when it come to formatting the output of my query. I have a database made the keeps track of about 200 hundred crime reports. I want to be able to do a query that will output the 15 possible crimes as rows, and then have 4 columns which are the locations of where the crimes happened. And then for the results have how many of crime where commited there. Pretty much in an excel format (see below example). However there are some crimes that have never happened. So there are no records of them. Unfortunatly when i do my query since there are no records, they are not even listed. I need them to list the crime, and place zeros if there are none. Since this probably isn't to clear I'll put a little example below.
Data:
Robbery: 4 on campus, 5 off campus, 6 in city, 0 in apartments Rape: 0 on cmpus, 3 off campus, 4 in city, 0 in apartments murder: 0 on campus 0 off campus, o in city, 0 in apartments
I have a form / subform. The form has a memo field. I have 10,000 plus records in the Form table. Each time I make a correction in two or more of the fields, I get the error: The Search Key was not found in any record error. For instance, I can even manually tie a many to many relationship in a join table without an error by adding a new record at the table level but I can't do this in the form. In neither place can I change the memo field more than once without this error. What resets it so I can make one more change is to Compact & Repair Database. A hassle and then some. :(
I have a database that holds hardware data. It's working fine, but there's a slight itch I'd like to scratch and I'm not sure how.
Very simply, I have a table listing printers. I have a search form with combo boxes called 'cboRoom' and 'cboDepartment'. The room and department fields in the printers table are lookups to a room table and a departments table respectivley.
The search form works fine by using the combo boxes to select a room and/or department, click search, and a query is run using the combo box selections as parameters. The query is also made to show all records if the combo boxes contain null. A form is then displayed with the query results.
Say for example, we have a room called B24. If B24 is selected in the combo box and the query run, I want a popup to appear that says 'No data with these search parameters' if there are no records containing 'B24'.
The search button (which is actually a label for design reasons) on the search form currently does nothing more than this;
Private Sub lblSearch_Click() DoCmd.OpenForm "frmPrinters", acNormal DoCmd.Close acForm, "frmPrinterSearch" End Sub
'frmPrinters' is obviously using the query (qryPrinterSearch) as its recordsource. Obviously, the popup needs to appear as soon as the query has been run, but I'm not sure what code to use or where to put it...
I know I need some sort of (pseudo)
If frmPrinters.cboRooms Is Null MsgBox "No Data" Close frmPrinters Open frmPrinterSearch End If
Something like that. But obviously I need to do it for both cboRooms and cboDepartments, after the form has attempted to populate itself with data from the query (otherwise it return null values anyway I guess).
Any help with the code and where to put it much appreciated.
A form i have gains its records from a query. I know that the number of records found is displayed down the bottom, but is it possible to have a text box displaying this, so i can choose where on the form i have it?
I am using a query to search for records and I'd like there to be a message box that pops up on the search page if there are no records found (so the query is empty). I'm guessing there is a simple solution since I think I just need an "If" statement checking to see if a field in the query is null or not. However, I'm not familiar with Access code and what I've tried so far does not work. Any help is greatly appreciated! p.s. I am using Microsoft Access 1997...old school...
Apologies if this has already been covered, but I couldn't find anything...I've got a form in Access that checks a table for a combo boxes values. If the user adds a value to combo box that isn't in the table I want that record to be added to the table. The code that I've written is:
Private Sub cmbClient_NotInList(NewData As String, Response As Integer)
Dim ctl As Control Dim db As Database Dim ssql As String
Set ctrl = Me!cmbClient
If MsgBox("This isn't a recognised client. Do you want to add it?", vbOKCancel) = vbOK Then Response = acDataErrAdded ctrl.RowSource = ctrl.RowSource & ";" & NewData
ssql = "Insert into tblclient (Client) Values ('" & NewData & "');" Set db = CurrentDb() db.Execute (ssql) Else Response = acDataErrContinue ctrl.Undo End If
End Sub
When I test the code it appears to work, but I get an error message saying that "Characters found after end of SQL statement"
Can anyone shed any light? I can't see anything obviously wrong with the code, but I must be missing something.
This happens after a) I update an access Memo field, and b) query the record for re-display.
The only way I've found to resolve the problem is to compact and repair the db, but does anyone know what might be corrupting the data in the first place? The submitted text included html tags.