General :: VBA Access Code EOF Does Not Stop / When Records Are Over
Jul 3, 2013
I have an excel file, and am trying to import it, and once when I have imported it, am checking for a condition with While Not rs.EOF, it works fine for the purpose of looping, but it does not stop when the records are over., it is additionaly printing 19 null statements, where I beleive it, should not be.
I have an Access 2010 db on a shared network drive. All users accessing the db are running Windows 7 OS and have a licensed corporate version of Access 2010. The advanced options "Shared", "Edited record" and "Open dabases by using record-level locking" are turned on. Additionally, the locking time limits are set to their default levels. If a user selects the save icon after making additions or updates, the following waring message appears:
Costar Job Database can't save design changes or save to a new database object because another user has the file open. To save you design changes or to save to a new object, you must have exclusive access to the file.Since I developed the db, I am the only one that makes design or object changes. I know that users don't need to select the save icon to update the db, but I don't want them to "freak out" if they select save and see the message. Is there any way to prevent the message from being displayed?
Ok - really need some help here. I have searched and searched but i think my problem is slightly different to the ones i am finding.
Basically i have a form and i want to force users to fill in one out of 4 tick boxes. If none of them are ticked when they press the close button i want the form to stay open and a message box come up.
I can get the message box part to work but the form still closes down.
The reason for this is that when the form closes it goes to another form that is linked to it by a unique ID number. This works by the following code.
Private Sub BTN_INVIS_Click()
Dim stDocName As String Dim stLinkCriteria As String
This code checks the boxes and generates the message box if none are ticked - that works great. However it doesnt stop the second part of the code (the move to the next form) from executing if the boxes arent ticked.
Would really appreciate it if someone could help me - i'm fairly new to coding so the whole database is a bit cobbled together (mostly with help from this forum!).
I had to put a breakpoint into my VBA code in one of my apps to debug a problem I was having and inspect the variable values. All was well until I finished the debugging process and tried to eliminate my breakpoints. However, the next time I ran the application, the code stopped as if one of the breakpoints was still active. I closed the application and reopened it (even rebooted the computer) and the code continues to stop in the same spot in the program. The only thing I can think of to do is to create a new empty Access database and import all the objects from the old one. I'm thinking the database must be corrupt and this is all I know to try.
I have an order form that auto-populates details from the customer table into adderss and contact controls. But I don't want it to auto-populate when the underlying order table already has data in the related fields. Here is the code I use on Load form event...
====== Private Sub Form_Load() 'Use this version if the ID is a number Dim x As Variant Dim strControl As String Dim lngID As Long 'If parameters exist, use them If Len(Me.OpenArgs) > 0 Then
Iam using the following code for inserting the values from access form in to the access database table ITEMS, but iam getting compile errors, may i know where iam going wrong in the code.
Also help me in updating, deleting and viewing of records from database table ITEMS to the form when i run the program.
Following is my code :
Private Sub ADD_Click()
On Error GoTo Err_ADD_Click
Dim cn As ADODB.Connection Dim rs As ADODB.Recordset
Set cn = CurrentProject.AccessConnection
'Create an instance of the ADO Recordset class, and 'set its properties
Set rs = New ADODB.Recordset With rs Set .ActiveConnection = cn .Source = "SELECT * FROM ITEMS" .LockType = adLockOptimistic .CursorType = adOpenKeyset .CursorLocation = adUseServer .Open End With
'Set the form's Recordset property to the ADO recordset
I've been working on a large project for my employer for a year now (but software development isn't part of my normal day to day duties). Most of the work (around 70%) has been done in my own time at home. The company were going to buy a system that would be customized by developers at a cost of around $60,000. I've developed a solution that is probably better than what they would have got. At my last appraisal my boss said that it had been discussed that i would be rewarded if i delivered it. My question is:
Is it possible to password protect access to the source code? I'm working with Access 2003 just now. I know I can create a .mde file to prevent access to the source code but that would make further development difficult. e.
I am just starting out learning how to connect Access to Excel. From an Access form, I need to connect to an Excel spreadsheet, and loop through every row/column to look for data that matches a database field data, then populates the associated cell data. I don't want to import the spreadsheet since the user who created it is using it manually, and I am attempting to automate the task. This is probably the most elementary code, but I would like to start out with the best way to do this. What I am finding is code that appears to be much more complicated than I need, for more complicated situations.
I have a 'tblStock' with fields 'ProductID', 'InitialStock', 'Buy', 'Sell' and 'UpdatedStock'. I also have a form 'StockUpdate' add values and also add new records to 'tblStock' .
If I have value [100] for IntialStock quantity, Buy [0] and sell [10], UpdatedStock will be [90] (that's done and fine!).
The problem is, I would like to make the UpdatedStock value [90] to be the NEW InitialStock, so that any BUY or SELL will keep updating the UpdatedStock and making it the NEW InitialStock for the next transactions and so on....
I have two table. Deliveries Created (DC) and Goods Receipt (GR).
I have a query which links the two by PO number, PO Item, Unit code and Delivery quantity.
This works fine until one PO Number has more than one delivery quantity which is equal. For example.... The PO quantity is 4,000 but, because the units can only be shipped in quantities of 1000, there are four different entries in both the DC and the GR tables each with the same PO number, PO Item number, Unit code and delivery quantity (and shipped on the same date). This of course gives 16 results for the query using this PO number.
There is one unique field in the DC table this is the posting number field. I've tried grouping by this number and taking the First values from the GR table. This works OK in that it produces Four results but, two of the deliveries were received on Day 1 and two were received on Day 2. If I take First of GR date I get DAY 1 for all, If I take Max I get Day2 for all. What I need is the correct date.
I have an user imput form that has a unique file reference number which is typed in by the user in the first bound field. Does anyone know of a way of informing the user that the file reference number is already in use and therefore a new one must be used. At the moment the user is completing the entire form before being made aware that it would create duplicate records and therefore unable to save current record etc...Totally fustrating! any ideas? Steve
I have 12,000 cvs that i need to get into An access database so i can start to extract email info etc. They are stored in one folder All Cvs under each of their names edc.txt (i have converted them to .txt) i want to create one table with two fields name (taken from the cv filename and contents (taken fromthe contents of the .txt file). I am using Access 2007.
I have included some code to disable the access PassKey (holding shift down as you open the database so that the database window appears). It is password protected and it works pretty well for normal users.
However, I have realised that even in this restricted mode you can go to File-Options-Current database and enable Access Keys. This then lets you open the database window by pressing F12.
My question is, is there a way to absolutely stop anyone from ever viewing the database window at all? All my code is password protected, but I still don't want an ICT person fiddling with my tables and queries!
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.
I am using SendObject to send Outlook email messages from my application. On my development system, I get two Outlook warning messages each time I send an email. A user tested this on the live system today and said they got no Outlook warning messages.
Is this something that I can set? To not give Outlook warning messages?
I have a database that is saved as an accdr so it can be compiled for distribution as an exe..I have just found the accdr the exe installed and renamed to accrb and was then able to open it and view all the tables, forms etc.Obviously I cant stop someone renaming but if there was a way to stop the forms, tables etc opening.
I have a sales sytem in Access 2010.New customers have to be imported to MYOB daily. I have a query that finds new customers and appends them to a table for importing at a later stage. I export the records in that table if the field "imported" is set to false. The results are exported to Excel so they can be imported into MYOB after some additional data is added. If there are no records to append to the import table I want to stop the export from happening. I am new to VBA and don't know how to express that the select query "000 Append New Customers...." should only run if the append query has records. If there are no records found, I want to put a message saying "no records found". Here is the code I have behind the command button:
Private Sub PrepCustcmd_Click() 'Turn warnings off DoCmd.SetWarnings False DoCmd.OpenQuery "000 Append New Customers to MYOB Customers", acViewNormal, acEdit
I have a form that allows a user to complete a stock take. I would like to stop other users from receiving or despatching stock while a stock take is in progress.
Is there a way I can lock a table, or stop users adding or altering records that match certain criteria. i.e. don't let users receive or despatch stock from with a locationID of 'A'.