Veja se ajuda:
Talvez para algumas pessoas seja difícil abrir e salvar arquivos, mas tem uma dica legal:
Insira um form e nele coloque um textbox, dois botões de comando (cmdOpen e cmdSave) em um common dialog.
no form copie-e-cole este texto:
Private Sub cmdOpen_Click()
Form1.CommonDialog1.Filter = "Texto Simples (*.txt) |*.txt|"
Form1.CommonDialog1.FilterIndex = 1
Form1.CommonDialog1.Action = 1
Filename = Form1.CommonDialog1.Filename
OpenFile (Filename)
End Sub
Private Sub cmdSave_Click()
Form1.CommonDialog1.Filter = "Texto Simples (*.txt) |*.txt|"
Form1.CommonDialog1.FilterIndex = 1
Form1.CommonDialog1.Action = 2
Filename = Form1.CommonDialog1.Filename
CloseFile (Filename)
End Sub
Em seguida crie um modulo e copie-e-cole isso:
Dim ArrayNum As Integer
Global Filename As String
Const MB_YESNO = 4, MB_ICONQUESTION = 32, IDNO = 7, MB_DEFBUTTON2 = 256
Sub OpenFile(Filename As String)
On Error GoTo uhoh
Dim F As Integer
F = FreeFile
Open Filename For Input As F
Form1!Text1.Text = Input$(LOF(F), F)
Close F
Exit Sub
uhoh:
Exit Sub
End Sub
Sub DoUnLoadPreCheck(unloadmode As Integer)
If unloadmode = 0 Or unloadmode = 3 Then
Unload Form1
End If
End Sub
Sub CloseFile(Filename As String)
Dim F As Integer
On Error GoTo CloseError
' If Dir(Filename) <> "" Then
' response = MsgBox("Já existe um arquivo de mesmo nome, deseja sobrescrevê-lo?", MB_YESNO + MB_QUESTION + MB_DEFBUTTON2, "Erro")
' If response = IDNO Then Exit Sub
' End If
F = FreeFile
Open Filename For Output As F
Print #F, Form1!Text1.Text
Close F
Filename = "Sem Título"
Exit Sub
CloseError:
MsgBox "Ocorreu um erro durante salvamento do arquivo, refaça a operação.", 48, "Erro"
Exit Sub
End Sub
Ou :
Crie um form com um FlexGrid, 2 commandbuttons e 1 textbox. Use o Textbox para entrar os dados separados por vírgulas (Nome, Tel, Email, Nascimento)
Private Type MeuRegistro
Nome As String * 50
Tel As String * 15
Email As String * 70
Nascimento As Date
End Type
Dim Regs As MeuRegistro
Dim F As Integer
Private Sub Command1_Click()
' Lê Arquivo
Dim BUF As MeuRegistro
MSFlexGrid1.Rows = 1
For i = 1 To LOF(F) / Len(Regs)
Get F, i, BUF
MSFlexGrid1.AddItem BUF.Nome & vbTab & BUF.Tel & vbTab & BUF.Email & vbTab & BUF.Nascimento
Next
End Sub
Private Sub Command2_Click()
' Grava um registro
Dim BUF As Variant
BUF = Split(Text1, ",")
ReDim Preserve BUF(3)
With Regs
.Nome = BUF(0)
.Tel = BUF(1)
.Email = BUF(2)
.Nascimento = BUF(3)
End With
Put F, , Regs
' Mostra os arquivos atualizados
Command1_Click
Text1 = ""
End Sub
Private Sub Form_Load()
' Inicializa
F = FreeFile
Open "c:cliente.cli" For Random As F Len = Len(Regs)
With MSFlexGrid1
.Cols = 4
.FixedCols = 0
.AllowUserResizing = flexResizeColumns
.TextMatrix(0, 0) = "Nome"
.TextMatrix(0, 1) = "Telefone"
.TextMatrix(0, 2) = "Email"
.TextMatrix(0, 3) = " Nascimento"
End With
Command1.Caption = "Lêr Arquivos"
Command2.Caption = "Gravar Registro"
End Sub
Private Sub Form_Unload(Cancel As Integer)
Close F
End Sub
Desta forma é possível criar um banco de dados simples.
Vc pode acessar qualquer registro do arquivo pelo número do registro,
ex: Get F, 3, BUF retorna o 3º registro, se ele existir, e assim vai...