Hello !
I read a lot about transfer data from Access to Excel.
However I have not yet, in my brain, a clear stack. So, I ask you to help/assist me.
Thank you ! All work must be done in Access environment.
So: Step 1. Create an Excel workbook.
How to create an Excel workbook at a certain location (folder) and with a certain name: "ExcelWorkBook" ?
15 6381 NeoPa 32,556
Expert Mod 16PB
This could be handled one of two ways, but the issues surrounding it are various. This is really a multi-faceted question rather than a discussion Mihail, but let's give some basic pointers and you can take them further where required : - DoCmd.TransferSpreadsheet() is one approach.
- Application Automation is another.
#2 can be very helpful if you want more than a simple data dump. #1 can handle specification of the worksheet name, but only by naming the Access object that's transferred commensurately.
Determining exactly where a file should be stored can be done in so many ways, depending on your requirements, but Select a File or Folder using the FileDialog Object and Does a File Exist? may help there.
Thank you for that, NeoPa.
After I am able to create an workbook from Access I'll return here for the next step.
If I can't do the task I'll return here anyway :).
NeoPa 32,556
Expert Mod 16PB
Sounds good to me Mihail. I'm sure you'll manage it. One way or another :-)
Step 1: Accomplished - Option Compare Database
-
Option Explicit
-
-
' Requires a Reference to Microsoft Excel 8.0 Object Library or Higher
-
' In VBE, goto Tools->References... and select it from the list
-
-
' Variable Declarations
-
Public objExcel As Excel.Application
-
-
Public Sub Test()
-
Call CreateExcelObject
-
Call AddWorkbook(True)
-
Call SaveWorkbook("C:\CreateExcelWorkbook_Test.xlsx")
-
Call QuiteExcelObject
-
End Sub
-
-
Public Function CreateExcelObject() As Boolean
-
CreateExcelObject = False
-
On Error GoTo ErrorHandler
-
' If Excel is open, use GetObject, otherwise create a new Excel object
-
Set objExcel = GetObject(, "Excel.Application")
-
CreateExcelObject = True
-
-
Ex:
-
-
Exit Function
-
-
ErrorHandler:
-
Select Case Err.Number
-
Case 429 'Application not runing
-
Set objExcel = New Excel.Application
-
Resume Next
-
Case Else
-
MsgBox ("MyMesage " & Err.Number & " " & Err.Description)
-
CreateExcelObject = False
-
Resume Ex
-
End Select
-
End Function
-
-
Public Function QuiteExcelObject() As Boolean
-
On Error Resume Next
-
objExcel.Quit
-
End Function
-
-
Public Function AddWorkbook(Optional MakeVisible As Boolean) As Boolean
-
AddWorkbook = False
-
On Error GoTo ErrorHandler
-
-
With objExcel
-
' Adds a new workbook to the Excel environment
-
.Workbooks.Add
-
' Set the Excel window visibilitie
-
.Visible = MakeVisible
-
End With
-
AddWorkbook = True
-
-
Ex:
-
-
Exit Function
-
-
ErrorHandler:
-
Select Case Err.Number
-
Case 429 'Application not runing
-
MsgBox ("First you must create ExcelObject")
-
Case Else
-
MsgBox ("MyMesage " & Err.Number & " " & Err.Description)
-
End Select
-
-
Resume Ex
-
End Function
-
-
Public Function SaveWorkbook(WkPath As String) As Boolean
-
SaveWorkbook = False
-
On Error GoTo ErrorHandler
-
With objExcel
-
.ActiveWorkbook.SaveAs (WkPath)
-
End With
-
SaveWorkbook = True
-
-
Ex:
-
-
Exit Function
-
-
ErrorHandler:
-
MsgBox ("MyMesage " & Err.Number & " " & Err.Description)
-
Resume Ex
-
End Function
-
Now Step 2. Working with Excel sheets. 2.1 How to count the sheets. 2.2 How to see the sheets names, how to change this name ? Here there are two points: The caption and the real name (the name used with in VBA editor).
I think I can do the job but, if someone point me in the right direction I do not waste time.
Thank you !
Hi
Just added some code to youe subroutine to illustrate what is possible etc. - Public Sub Test()
-
Call CreateExcelObject
-
Call AddWorkbook(True)
-
-
With objExcel
-
MsgBox .ActiveWorkbook.Sheets.Count
-
MsgBox .ActiveSheet.Name
-
.ActiveSheet.Name = "New Sheet Name"
-
MsgBox .ActiveSheet.Name
-
-
Dim sht As Worksheet
-
For Each sht In .ActiveWorkbook.Sheets
-
MsgBox sht.Name
-
Next sht
-
End With
-
-
Call SaveWorkbook("C:\CreateExcelWorkbook_Test.xlsx")
-
Call QuiteExcelObject
-
End Sub
There is also a Workbooks collection that you can also loop through in a similar way.
This may raise more questions, but hopefully not!
MTB
:) Thanks Mike.
From now is a little bit of work to design some specific routines.
After that I'll return for next steps.
Thank you again !
NeoPa 32,556
Expert Mod 16PB
For step #1 I would suggest that lines #40 to #43 might be redone as : - Public Function QuitExcelObject() As Boolean
-
On Error Resume Next
-
Call objExcel.Quit
-
Set objExcel = Nothing
-
End Function
The name had a strange spelling and objExcel was left as a refernce to a no-longer-valid object.
For step #2.1 I would simply point out that all collections have a .Count property.
For step #2.2 I would link you to a new article I just created for this situation - Excel Module (Code) Names.
Have fun :-)
Thank you for your advices. Very useful.
I update the code as you can see.
Now I have almost all tools to make export-import.
The last step is (I think) to format cells.
Not as Font or Pattern (it will be great but not very useful).
So, how to format cells as Text, Numbers(Integer, Single, Double) and as Date ? NeoPa 32,556
Expert Mod 16PB Mihail:
So, how to format cells as Text, Numbers(Integer, Single, Double) and as Date?
I suggest you set up a number of cells, each with a different format that you're interested in knowing about, then print the .Format property of each in the Immediate pane of the VBA IDE. That way you can see what format string is required for each.
This is what i am looking for. The syntax for Format instruction.
I think that I can make an idea after I record a macro in Excel. But, if someone already know how to and wish to share...
NeoPa 32,556
Expert Mod 16PB
You don't need to record a macro. That's not what I said. Just format a cell (EG A1.) in any way that you're interested in knowing about, then go to the VBA IDE, and the Immediate Pane within that, and type :
That takes less than half a minute. Alternatively I could print all the known possibilities which might take me 5 minutes. An easy choice I think.
Oh, thank you !
Indeed, I don't understand what you say in post #11.
I'll try and I'll return for update the code.
Thank you again.
NeoPa 32,556
Expert Mod 16PB Mihail:
Indeed, I don't understand what you say in post #11.
That makes sense. I do try to make my English more basic for you Mihail, but sometimes I forget and use more advanced (and complex) language, which is harder for you to understand.
I design a small program for importing data from Excel.
Of course you will find bugs and unhandled errors.
Please inform me about this and I'll try to solve it.
Thank you !
Sign in to post your reply or Sign up for a free account.
Similar topics
by: Funbeat |
last post by:
Hi everybody,
I'm facing with the following problem (bug ?) :
A page is calling another one (export.aspx) for exporting data to
excel.
The tecnhique used is to create a Excel-MIME stream...
|
by: Jonny |
last post by:
Hello,
I have created a button on my form which when pressed does the
following :
1) Run a pre-defined Macro, which is picking up a query and running my
data to excel.
However, I need the...
|
by: Agnes |
last post by:
I can export the data to excel, but it is really really slow. need 5-6 mins
to export 30 fields (a hundred records) . for my old vfp application, less
than 3 minutes. for 500-800 records.
Does any...
|
by: C |
last post by:
Hi,
Does anyone know of any sites that have sample code that shows how to export
data to Excel using VS Tools for Office?
What is the advantage of using VS Tools for Office over uisng Interop?...
|
by: bimalkumar |
last post by:
hi 2 all,
i m using some txt boxes and few combo box in my form. how do i export the txt box and combobox data to excel sheet directly without using any database.just get the data from txt...
|
by: Vanessa |
last post by:
hi Everyone,
I have two questions on exporting data to Excel using ASP (w/o converting
formatted excel file into web page and then plug in the dynamic data):
1. Can we export data into...
|
by: forumaic |
last post by:
Hello,
I am trying to export data to excel from datagrid, and I am getting an
error: "The Controls collection cannot be modified because the control
contains code blocks (i.e. <% ... %>)."
...
|
by: hal |
last post by:
Hello all,
I've been searching all day for an article or tutorial on how to get
data from a SQL Server 2000 database and export the data to excel 2003
so that multiple worksheets are created,...
|
by: teneesh |
last post by:
I have the following query behind a button in Access. But I'd like for this button, after running the query to export this data to excel. When I look this up online, I find nothing, not sure if I'm...
|
by: kashif73 |
last post by:
Hi,
I want to export data from 4 Access tables to Excel using VBA. The user selects 2 different DATES from the form & based on DATEs criteria all record from 4 tables should be extracted to...
|
by: ryjfgjl |
last post by:
If we have dozens or hundreds of excel to import into the database, if we use the excel import function provided by database editors such as navicat, it will be extremely tedious and time-consuming...
|
by: ryjfgjl |
last post by:
In our work, we often receive Excel tables with data in the same format. If we want to analyze these data, it can be difficult to analyze them because the data is spread across multiple Excel files...
|
by: emmanuelkatto |
last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud.
Please let me know.
Thanks!
Emmanuel
|
by: BarryA |
last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
|
by: nemocccc |
last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
|
by: Sonnysonu |
last post by:
This is the data of csv file
1 2 3
1 2 3
1 2 3
1 2 3
2 3
2 3
3
the lengths should be different i have to store the data by column-wise with in the specific length.
suppose the i have to...
|
by: Hystou |
last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
|
by: Oralloy |
last post by:
Hello folks,
I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>".
The problem is that using the GNU compilers,...
|
by: tracyyun |
last post by:
Dear forum friends,
With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
| |