Hello, I am here back in the forum because would like some help to define a code.
Meloncolly has already helped me but I think that I have mixed up two pieces of code and cannot find the solution.
I need to export my access data to a document in excel. I will select the recorset of the data to export, using a combo box on a form named MENU.
The excel file is a template named MASTER. Before the recorset is copied, I need to make a copy of the template via code. The copy will be the document into which copy the data. Once the data is copies, I would like an input box asking users if they would like to save the new excel file and be able to name it with the name they will type in the input box.
My last problem is that the database is used by 20 users and what happens if are all exporting to the template? Will this automatically name itselft, MASTER1, MASTER 2, etc?
This is the code that I am using and tried to put together. It does copy the data into master 1 but leaves the template opened. It also tells me that there is something missing.
THanks:
Private Sub ExportToExcel_Click() Dim myid Dim obj As Object Set obj = GetObject("C: estMaster.xls") 'Dim mypath
myid = Me.[MyCombo] 'grab the three field values from the table Dim mySSN, myFirstname, myLname mySSN = DLookup("[WESSN]", "[MASTER]", "[id]=" & myid) myFirstname = DLookup("[WEFN]", "[MASTER]", "[ID]=" & myid) myLname = DLookup("[WELN]", "[MASTER]", "[ID]=" & myid)
'open excel and the required file Dim appXL3 As Excel.Application Dim blnStartXL3 As Boolean
On Error Resume Next ' Check if Excel is already running Set appXL3 = GetObject(, "Excel.Application") If appXL3 Is Nothing Then blnStartXL3 = True 'Else ' We have to start Excel ourselves Set appXL3 = CreateObject("Excel.Application") If appXL3 Is Nothing Then MsgBox "Can't start Excel", vbExclamation GoTo exit_handler End If End If With appXL3 '.Visible = True On Error GoTo Err_Handler
I have a form where when the user clicks on the browse button then excel workbook filepath gets stored in the textbox as below:
Code: Private Sub CommandButton1_Click() ChooseFile End Sub Sub ChooseFile() Dim fd As FileDialog Set fd = Application.FileDialog(msoFileDialogFilePicker)
[Code] .....
Please see attached the excel workbook. Everytime the user will select Excel workbook using Browse button. Now in that file , the first sheetname will always be "Summary". I want to perform the following steps:
1. So now I want VBA code to copy the data from columns "Withdrawn","Obsolete","Updated","LitRef" from Summary sheet to the Access table named tblSummary.
2. When the data gets copied in Access table then write So VBA code that will check if the data in field LitRef in table "tblSummary" is present in field "Reference" of Access table "tblliterature" . if its present then check in the tblSummary , which corresponding fields out of "Withdrawn","Obsolete" and "Updated" stores "Y" . 3. If "Withdrawn" field value is "Y" then change the status of corresponding record of tblliteraure to "Withdrawn" 4. If "Obsolete" field value is "Y" then change the status of corresponding record of tblliteraure to "Obsolete" 5. If "Updated" field value is "Y" then change the status of corresponding record of tblliteraure to "Updated" .
I am able to use DoCmd.TransferSpreadsheet to export data from Access to Excel, however, I want to be able transfer data into a specific sheet within an Excel template (e.g. Tasking.xls), that will then save under a different name (e.g. Tasking 20140429.xls). The other sheets within the Excel template contain pivots etc. so they will need updating during this process. The Excel template should just close down and remain in its original format.
This process will occur once a week so the dates will have to change accordingly.
I would like to be able to check if a db is open and if it is to prevent the user from proceeding.
I use the Access 2013 Runtime. I can check if a db is open by trying to open Exclusively, using something like
Code: [URL] ....
But if the db is already open Not exclusively and I try to open it exclusively it does not raise an error and it allows the user to open the db in Read Only mode.
I would like to be able to prevent this, because careless and/or inexperienced users may open several instances of the db.
Of course, if the db is already open exclusively it does not allow you to open it exclusively another time.
I would like to ask here for advice on MS Access 2000 application. When a user logs in, he should be able to use the Access 'Query' screen in read-only mode. In other words, he should be able to generate queries by selecting tables and columns, or using the wizard, but the results of those queries may never have any influence on the data in the database. So: SELECT queries only. Users should be allowed to execute those queries, but are not allowed to access the tables, forms, or any other items directly. Is there a way to achieve this?
I have an access database and some asp-code on my computer which only works one way? I can read from it, but not write?
...and when I put the asp-code and the database on anohter server it works fine. ..what setting do I have to do, to make it work on my computer?
I have another asp-site with a mySQL-database on my compter which works fine...but it doesn't work with my access-database...hmm...I can only read from it.
I have an access program that is stored on a SharePoint site. I want to be able to export report to the computer even if I just open the access program as read only. Here's my code:
Code:
Private Sub btnExport_Click() On Error GoTo btnExport_Click_Err Dim db As DAO.Database Dim strSQL As String Dim qdfTemp As DAO.QueryDef Dim qryFilter As DAO.QueryDef
I'm working in Access 2010. I created a database that I want to post in a server on the read-only mode, so that users can not change forms or querys. How can I do this in Access 2010?
I'm currently creating an interface program for a MS Access database. I've only used Access once in the past but used other DB's a handful of times so I didn't have any trouble getting the general program created. My issue arose when I tried to make it so that the users needing to use the program can just copy the .exe and the .mdb files and use it.
The program doesn't require users to share the database but to store their OWN programs information in their OWN database, so basically each needs to have their own database with the exact same design (but different data). The original plan was to just get them to copy over a near empty .mdb with the design set up and have them slowly create their own dataset with it. However, upon copying these files between my computer and others it ends up allowing my interface program to retrieve data from the DB but not write any new entries to it. All security permission on the file itself are set to allow read/write to everyone so I'm not sure what's causing this. Is there any other security settings I should worry about? Everything I could find within access seemed to be set so that it could be used freely so I'm not sure what the problem is. Any help would be greatly appreciated.
P.S. - I apologize if there is already a related topic in existence, I am new to these boards and tried to search beforehand for any information on this topic but came up empty handed so decided to start my own topic about this problem.
I searched the archive and didn't find quite what I was looking for, so..
I have an Excel 2003 spreadsheet work-in-progress being used as a template (developed by others) to prepare project cost estimates in a complex regulatory environment. We are 'modelling on the fly' for a number of projects until we are comfortable with the estimate model, after which time I intend to incorporate our 'stable' estimate methodology into Access. Meanwhile, I am 'stuck' with the Excel spreadsheet.
I have a project tracking database (Access 2003), and I want to be able to track my estimates. I do NOT want to embed my spreadsheets into the db, just a filelink. There can be more than 1 estimate per project.
Ideally, the user should be able to define a project in the Access db (or select one already defined) and click a 'make estimate' button, which would generate a new Excel file in a predefined directory (based on the present version of the .xlt file), give it an appropriate filename (based on the Access ProjectID and estimate sequence number for that project if there were others already), open up that workbook in Excel, and then autopopulate some cells based on information showing on the original form in Access!
A separate button for 'Open existing estimate' will eventually be required, but I think I could do that if I can get someone to walk me through the steps required above.
I am somewhat familiar with vba in Access, but am an absolute rookie when it comes to excel.
Edit: I left out that I would also add an appropriate record to a table like tblEstimate which would contain the link(s) to the estimate(s). This table will obviously contain a FK to tblProject
I'm doing a project for my work. I created a few reports in Access. Some of these reports are simple graphic bars. How can I insert these reports into a word document template?
I'm a SQL Server DBA and have a few Access 2010 Db's to look after and occasionally have to make amendments to (as is the case today). I've been asked to apply permissions to certain users of the Access database whereby users in a group we're calling 'Viewer' only have read permission and users in another group called 'Writer' (original I know!) have both read and write permission.
The database is form driven (i.e. no-one directly accesses and amends the tables in the database), the file is saved with a .mdb extension.
I've played around with the 'Manage Users & Permissions' in the File Menu however these don't seem to do what I need them to and only result in having to input a user and password to access the database on start-up.
All I need to do is copy an excel file from a location (while coping the file, the location of the source file remains same all the time)and paste that excel file where ever I want (Browser Option) from an Access VBA.
Two Solutions to address moving an Access Memo field into Excel when string has > 255 characters. All my 'reports' use Excel VBA (Access Reports are not used). The Excel reports can have 40,000 records. Speed to create the report can be an issue.
Describing 2 Solutions below to address moving Access memo fields with > 255 characters into Excel.After running this code
Code: 720 ObjXL.DisplayAlerts = False ObjXL.Columns("X:X").Select ObjXL.Selection.NumberFormat = "@" ' set column to Text 730 ObjXL.Worksheets(intWorksheetNum).Cells(intRowPos, 1).CopyFromRecordset rsNutsAndBolts
The Comments column are limited to 255 characters. So, the CopyFromRecordset (recordsetvariable) creates the 255 character limitation.
The reason? The 255 character limit is because CopyFromRecordset sutomatically uses the Characters property of the Range object. The 255 limit would not be there if the Cell Value property is used to assign the string to that cell.
Dim sRx as String ' String Prescription sRx = "String with > 255 characters ... you fill in the rest ...." Cells(1, 1).Value = sRx ' Cell's Value property assignment can be very large
Solution 1:
The record set is still in memory. By using a loop, a cursor can start with record 1 (memo column) and assign that value to the Excel row / column using the .value as shown above. Basically, this moves one memo field at a time, record by record. e.g. Read First recordset in Access, copy to variable, assign value to Excel row/column Then move next on each Access and Excel.
Solution 2:
An Access Memo filed [RxNotes] can have up to 750 characters. Cut it apart into three new fields that end up out in the very right Excel columns AA, AB, AC.
Note1=Mid([RxNotes],1,250) Note2=Mid([RxNotes],251,250) Note3=Mid([RxNotes],501,250) Then using Excel Object - Concat the cells back cell by cell... X2=CONCATENATE(AA2,AB2,AC2))
Then delete the columns AA, AB, AC to hide the evidence..Neither solution is all that elequent. Read about this and by golly, it made a difference
ConcatComments = "'" & CommentString
Before using the CopyFromRecordset be sure to add a single quote in front of the large string.
Turns out the interface between Access and Excel look for this to prepare Excel immediately for the string to be a string, not something else. Some of my strings had weird print characters that kind of looked like Japenese characters. It seemed random, it always happened if the string was 255 or more characters (ramdonly, not always). The single quote doesn't show up in Excel, but got rid of all the noise.
I have searched and have not been able to find anything on creating a read-only copy of a back end DB with VBA. I am creating backups of my back end file and would like to create a local read-only copy to use in the event that the regular back end is not available. The code I am using to create the backup is:
Code: Public Function BackupBE() 'On Error GoTo BackupBE_Err Dim sourceFile As String, destinationFile As String Dim aFSO As Variant Dim path As String, name As String
I need some simple code that will copy an Excel file or a table in Access to a specific location on an FTP server. I would think this would be a very simple task, but I have yet to find any sample code that is *simple*. I have seen lots of code that requires downloading this dll or that mda, but the examples don't work. There must be something built into MS Access 2010 that will allow a file to be uploaded to an FTP site.
All the variables are known:
The FTP location (it never changes) The FTP Username and Password (they never change) The destination folder on the FTP site (it never changes) The File type (it never changes) The File name (available from the form in Access from which this will be executed)
I can either produce an output file, then copy it to the FTP site, or I can export the table directly to the FTP site with the file name for that day.
This seems to be a very simple task with no simple solution. Currently I am using an FTP app to get the file to the FTP site, but I would like to automate this. The process that creates the output file is already automated, so I would just like to add this to the existing code as its own module.
just made all that above up and none of it is a real function/command in VBA, but is just the kind of thing I'm looking for.
I would think that since I can download and XML file from an FTP site that it should be child's play to upload a simple file to an FTP site, but I can't figure it out.
I have some variables in Access that I would simply like to write to specific cells in an excel spreadsheet and save. I would like it to not prompt before it overwrites the previous file with the same name, and not open after it's saved. What code do I need to do this? Currently it saves out a new excel sheet, but it prompts before overwriting the one with the same name, and it opens the file after the save.Here is what I have now:
Code: Dim newExcelApp As excel.Application Dim newWbk As excel.Workbook Dim newWkSheet As excel.Worksheet
I have info on my access form which is located here....
Code : Forms![Front Page]![Site 2 Owner]
and here
Code : Forms![Front Page]![Postcode S2]
I would like to export this information into cells B2 & C2( individually and respectively) on the excel spreadsheet which I have saved as a template here...
Code : C:UsersmedesktopAutoExcel Auto
Is this easily achievable? To be honest I will be using it to fill in about 12 cells but how it would be done for the first two i can just modify it as necessary.
I created a form with lots of conditional formatting that did pretty much everything I wanted it to do. The only problem is that it takes about 4 full minutes for the form to open.
As an experiment I am reluctantly now trying to display the results in Excel. I have created a template xls sheet and all I want to do is, on the press of a button, copy the results from my query and paste them in to cell a1 of my spreadsheet.
I found the following code online which I am trying to adapt.
Code: Private Sub update_tracker_Click() Dim XL As Excel.Application Dim wbTarget As Workbook Dim qdfResults As QueryDef Dim rsResults As Recordset 'Set up refernce to the query to export
[Code] ....
My limited knowledge however results in a couple of errors.
The first error User defined type not defined error appears at the very first line of my code
Code: Dim XL As Excel.Application
The next error occurs as I am not sure how to reference the query to export. The query is called 2014 Resources and outputs also to a form called 2014 Resources.
I am using Excel/VBA as a frontend and Access backend. The sheet2 stores the queue name and Queue number. We have to update the sheet1 from column L to column O by looking for the values from the Access table for the date selected from the comboboxes. Now In sheet 2 , it says Queue number and in actual in access table it is the combination of Type & Type1 & Type2. So we have to look for Type & Type1 & Type2 in the table and find out total Batches ,Total Envelopes,Total documents and total pages and then store the values in the ExcelSheet1 from column L to column O.
The following formulas will be used in the select statment:
Total Batches = count(BatchNo) for date selected Total Envelopes=sum(Envelopes) for date selected Total Documents=sum(Cases) for date selected Total Pages=sum(Pages) for date selected
Any definitive way of exporting a query to an Excel file and then saving it as a new file without saving over the original.
I've tried to remove any confidential info from the code below so it's not exactly the same.
Code: Dim XLApp As Excel.Application Dim XLSheet As Excel.Worksheet Dim tmpRS As DAO.Recordset Dim strFolder as String strFolder = ("C:Profiles"& [Name] & "")
[Code] ....
The error seems to be with the SQL statement although that may just be the first error that it got to. I read that you can't refer to a Query if it has a criteria and that you have to write the SQL directly into the code.
I have this UDF in my excel template that changes a set of numbers in to letters corresponding a code.
For example the code is "EUCHARISTO" it would simply mean
E=1, U=2, C=3, H=4, A=5, R=6, I=7, S=8, T=9, O=0 and by default the tenths position (".0")=X the hundredths position (.0"0") = Y and If a number repeats it becomes G.
Function LetterCode(ByVal Numbers As String, Letters As String) As String Dim X As Long Numbers = Format(Numbers, "0.00") * 100 Letters = UCase(Right(Letters, 1) & Left(Letters, Len(Letters) - 1)) If Numbers Like "*0" Then Mid(Numbers, Len(Numbers)) = "Y"
[Code] ...
Also, where best to put this code, In a query or in a module.