bueno si estas usando bases de datos de access lo podriras hacer asi:
dim BD as database
dim Rd as Recordset
On Local Error resume next
Set BD = workspaces(0).Opendatabase("c:\...\BD.mdb", Exclusivo, SoloLectura)
Db.Execute "INSERT INTO Tabla " & _
"(Campo1, Campo2) VALUES " & _
"('" & text1.Text & "', '" & text2.Text & "'')", dbFailOnError
If Err Then
Msgbox Err.descripction
Else
MsgBox Db.RecordsAffected & " registros agregados", vbInformation + vbOKOnly, App.EXEName
End If
Db.Close
Set Db = Nothing
si usas bases de datos de SQL seria igual solo que para abrir la bd sería asi:
dim Conexion as string
conexion = "Provider=SQLOLEDB.1;" & _
"Persist Security Info=False;" & _
"User ID=" & tu_suario & ";" & _
"pwd=" & tu:pass & ";" & _
"Initial Catalog=" & basededatos & ";" & _
"Data Source=" & Servidor
On Local Error Resume Next
BD.Open conexion
If Err Then
MsgBox Err.Number & vbCrLf & Err.Description
End If
On Local Error GoTo 0
pero al final de tu post dices haces referencia a un .dat eso me hace pensar que quizas uses archivos de texto, entonces tendrías que hacer una estructura con los campos del reguistro y sería más o menos asi:
'en un módulo .bas
Type Telefonos
Tel As String * 10
Nombre As String * 60
End Type
Public nTel As Telefonos
'en el form
Dim f As Long, i As Long
Dim Registro As Long
Dim s As Telefonos ' un ejemplo de un struct de usuarios y teléfonos
Dim Existe As Boolean
f = FreeFile
Open App.Path & "\Teléfonos.txt" For Random As #f Len = Len(nTel)
Registro = LOF(f) / Len(nTel)
'Checa si existe
Existe = False
For i = 1 To Registro
Get #f, i, s
If s.Nombre = nTel.Nombre And s.Tel = nTel.Tel Then
Existe = True
If z Then MsgBox "El contacto " & Trim(nTel.Nombre) & " ya existe.", vbExclamation + vbOKOnly, App.EXEName
Exit For
End If
Next i
If Existe = False Then Put #f, Registro + 1, nTel
Close #f
End Sub
paar mi es mejor usar una base de datos y si son muchos los registros pues una de SQL estarábien. bueno espero te sirva de algo...