Hej Tror att problemet är att de tomma cellerna representeras av exel till access i vb
Jag har en kod som omvandlar ett exel dokument till access, Men om en kolum i exel är tom så slutar den att konvertera till access. Jag har ca 2000 rader i exel och det är lite tidsödande att gå igenom detta och sätta en punkt i varje tom ruta. Min kod som öppnar exel ser ut som följer
Public Sub OpenExcelFile()
'
With lvwXL
.AllowColumnReorder = True
.FullRowSelect = True
.GridLines = True
.LabelEdit = lvwManual
.View = lvwReport
.ColumnHeaders.Clear
.ListItems.Clear
End With
'
If conExcel.ConnectionString <> "" Then conExcel.Close
conExcel.Open "DRIVER=Microsoft Excel Driver (*.xls); DBQ=" + cmnDlgs.FileName
'
If rstExcel.State Then rstExcel.Close
rstExcel.Open "SELECT * FROM [" + txtWorkSheetName.Text + "$]", conExcel, adOpenDynamic, adLockOptimistic
'
For intCtr = 0 To rstExcel.Fields.Count - 1 Step 1
Set clmHead = lvwXL.ColumnHeaders.Add(, , rstExcel.Fields(intCtr).Name)
Next intCtr
'
Do Until rstExcel.EOF
Set lstItem = lvwXL.ListItems.Add(, , rstExcel.Fields(0))
For intCtr = 1 To rstExcel.Fields.Count - 1 Step 1
lstItem.SubItems(intCtr) = rstExcel.Fields(intCtr)
Next intCtr
rstExcel.MoveNext
Loop
'
End Sub
Hur skall jag få koden att hoppa över alla tomma rutor och fortsätta som om inget hade hänt?
//JockeSv: exel till access i vb
NULL eller Noting
vilket listviewen klarar av att ta i mot prova att testa rstExcel.Fields(intCtr) innan du använder den
kanske som nedan... vet ej om det funkar mest som ex. på hur det kan se ut....
Do Until rstExcel.EOF
Set lstItem = lvwXL.ListItems.Add(, , rstExcel.Fields(0))
For intCtr = 1 To rstExcel.Fields.Count - 1 Step 1
TemprstExcel=rstExcel.Fields(intCtr)
if rstExcel.Fields(intCtr) =nothing then TemprstExcel="."
lstItem.SubItems(intCtr) = TemprstExcel
Next intCtr
rstExcel.MoveNext
Loop
// Wendel