Convert to Long Integer in Loop

silentwolf

Well-known Member
Joined
May 14, 2008
Messages
1,123
Office Version
2016
Hi guys,

as I am importing an Excel Worksheet into my access database I need some assistance to convert a column in Excel to a longInteger Field in Access.

Code:
Sub FillAllCellsWithLongInteger()
    Dim Zeile As Integer
    Dim ZeileMax As Long
    
Application.ScreenUpdating = False
    
    With ActiveSheet
        ZeileMax = .Cells(Rows.Count, 1).End(xlUp).Row
    
        For Zeile = 2 To ZeileMax
            .Cells(Zeile, 17).Value = CLng(59)
        Next
    End With
    
Application.ScreenUpdating = True
End Sub
This is what I tried.

In Excel the column(17) is blank and I fill it with the number 59. This is a dummy so to say .. As I need this column to be a field with longInteger datatype in Access I did try to convert it to Long in my code.
When I import that worksheet in access I get doule Datatyp tough. So I was wondering if someone knows how to be able to get around this.

Many thanks

Albert
 

Some videos you may like

Excel Facts

VLOOKUP to Left?
Use =VLOOKUP(A2,CHOOSE({1,2},$Z$1:$Z$99,$Y$1:$Y$99),2,False) to lookup Y values to left of Z values.

bobsan42

Well-known Member
Joined
Jul 14, 2010
Messages
1,343
It will be more interesting to see the code that does the import, if it is done by code that is.
Do you run the import code from access or from excel.
If you do it manually you can easily change the data format /Field size manually.
If you import in an existing table you can set the field size manually in advance.

Turns out DAO does not allow changing an existing field size you can use SQL:
Code:
CurrentDB.Execute "ALTER TABLE [COLOR=#ff0000]tblMytable [/COLOR]ALTER COLUMN [COLOR=#ff0000]fldMyField[/COLOR] LONG"
change the red ones to match you case.
 

silentwolf

Well-known Member
Joined
May 14, 2008
Messages
1,123
Office Version
2016
Hi thanks Bosan42,

I do the import with access and yes via code.. it's just a TransferSpreadsheet Code

Code:
Sub ImportExcelSpreadsheet(FileName As String, TableName As String)
On Error GoTo BadFormat
    DoCmd.TransferSpreadsheet acImport, acSpreadsheetTypeExcel12Xml, TableName, FileName, True
    Exit Sub
BadFormat:
    MsgBox "Das war keine Excel Datei!"
End Sub
But I will try it with your SQL Statement .

Many Thanks
 

Watch MrExcel Video

Forum statistics

Threads
1,102,478
Messages
5,487,124
Members
407,580
Latest member
nilnil1

This Week's Hot Topics

Top