Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Läsa sista raden i en textfil

Postades av 2003-11-11 15:05:01 - Bo Wernersson, i forum visual basic - allmänt, Tråden har 3 Kommentarer och lästs av 462 personer

Jag har en modul som jag hittat (skriven av Pelle) som jag modifierat lite. Problemet är att jag inte får den att läsa sista raden i filen. Den läser alla rader och lägger in dom i vår Movex databas utom den sista, någon som ser felet?

Global Con As ADODB.Connection
Global rst As ADODB.Recordset

Enum dbDatabaseType
dbSQLServer = 1
dbOracleServer = 2
dbAccess = 3
End Enum

Enum dbRecordsetType
dbOpenAsTable = 1
dbOpenAsQuery = 2
End Enum

Public Function CreateRecordset(Indata As String, RecordsetType As dbRecordsetType) As ADODB.Recordset

' Input: Indata
' Här kan du antigen ange ett tabellnamn
' eller en select-sats
' Retur: CreateRecordset
' Det data som returneras

Select Case RecordsetType
Case 1
Dim rsTmp As New ADODB.Recordset
rsTmp.CursorLocation = adUseClient
rsTmp.Open Indata, Con, adOpenDynamic, adLockBatchOptimistic, adCmdTable
Case Else
Set rsTmp = Con.Execute(Indata)
End Select

Set CreateRecordset = rsTmp
Set rsTmp = Nothing

End Function


Public Function StartConnection(DatabaseType As dbDatabaseType) As Boolean

' Input: DataBaseType
' 1 = SQL Server
' 2 = Accessdatabas (default)

' Retur: StartConnection
' True = Ok
' False = Något fel

Select Case DatabaseType
Case 1: ConStr = "Provider=SQLOLEDB.1;Persist Security Info=False;" & _
"User ID=sa;Initial Catalog=Northwind;" & _
"Data Source=pellesoft"
Case Else: ConStr = "DSN=FORRAD;" & _
"Uid=bwn;" & _
"Pwd=amd64fx;"

End Select


On Local Error Resume Next
Set Con = CreateObject("adodb.connection")
Con.Open ConStr

If Err Then
StartConnection = False
Else
StartConnection = True
End If

End Function

Public Sub StopConnection()

Set rst = Nothing
Set Con = Nothing

End Sub


Public Sub CreateTable()

Dim Buffer
Dim vArray

' hämtar lite värden
FileName = Form1.txtFileName
TableName = Form1.txtTable

' öppnar filen
Open FileName For Input As #1

orgsql = "insert into " & TableName & " (BDATE,BTIME,BITNO,BFUT,BFIN,BAVD,BANSV,BMASK,BPROJ,BFMAN) values("

Do While Not EOF(1)
Line Input #1, Buffer
If EOF(1) Then Exit Do

vArray = Split(Buffer, "|")
insertsql = orgsql

For a = 0 To 9
' alla värden
insertsql = insertsql & "'" & vArray(a) & "',"
Next

' tar bort avslutande "
insertsql = Left(insertsql, Len(insertsql) - 2) & "')"

' adderar posten
Con.Execute insertsql, , adCmdText + adExecuteNoRecords ' = 129

Loop

Close

End Sub

Textfilen ser ut som följer:
07-10-03|14:18:29|910455 | 1| |331500 |1025|33-00-023 | |1069|
07-10-03|14:19:17|TS18252ST | 1| |331501 |1025|33-02-025 | |1069|
07-10-03|14:19:40|TS18252ST | 1| |331500 |1025|30-02-025 | |1069|


Svara

Sv: Läsa sista raden i en textfil

Postades av 2003-11-11 15:54:02 - Sven Åke Persson

Ingen mening att skriva Dim om du inte talar om vad det skall bli.

Public Sub CreateTable()
Dim Buffer As String
Dim vArray() As String
'.....................
'....................
Do Until EOF(1)
Line Input #1, Buffer
vArray = Split(Buffer, "|")
insertsql = orgsql
For a = 0 To 9
' alla värden
insertsql = insertsql & "'" & vArray(a) & "',"
Next
' tar bort avslutande "
insertsql = Left(insertsql, Len(insertsql) - 2) & "')"
' adderar posten
Con.Execute insertsql, , adCmdText + adExecuteNoRecords ' = 129
Loop
Close #1


Svara

Sv: Läsa sista raden i en textfil

Postades av 2003-11-11 21:31:23 - Bo Wernersson

Tack Sven,
Med din kod fungerar det perfekt, nu kommer alla raderna med.

Mvh
Bosse


Svara

Sv: Läsa sista raden i en textfil

Postades av 2003-11-12 09:47:29 - Sven Åke Persson

Så här skulle jag vilja snygga till hela Suben
<code>
Public Sub CreateTable()
Dim Buffer As String,vArray() As String
Dim FileNum As Long,i As Long
FileNum = FreeFile
' hämtar lite värden
FileName = Form1.txtFileName
TableName = Form1.txtTable
' öppnar filen
Open FileName For Input As #FileNum
orgsql = "insert into " & TableName & _
" (BDATE,BTIME,BITNO,BFUT,BFIN,BAVD,BANSV,BMASK,BPROJ,BFMAN) values("

Do Until EOF(FileNum)
Line Input #FileNum, Buffer
vArray = Split(Buffer, "|")
insertsql = orgsql
For i = 0 To 9
' alla värden
insertsql = insertsql & "'" & vArray(i) & "',"
Next 'i
' tar bort avslutande "
insertsql = Left(insertsql, Len(insertsql) - 2) & "')"
' adderar posten
Con.Execute insertsql, , adCmdText + adExecuteNoRecords ' = 129
Loop
Close #FileNum
End Sub
</code>


Svara

Nyligen

  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper
  • 16:36 Allt du behöver veta om keramiskt
  • 16:14 Vem anlitar man egentligen när tak
  • 16:14 Vem anlitar man egentligen när tak
  • 16:13 Vem anlitar man egentligen när tak
  • 11:52 Noen erfaring med uttak hos Mostbe
  • 11:51 Noen erfaring med uttak hos Mostbe

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 553
27 958
271 741
2 709
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies