Como guardar un registro?

Iniciado por BorecK, 13 Diciembre 2006, 03:18 AM

0 Miembros y 1 Visitante están viendo este tema.

BorecK

Que codigo puedo usar para que los registros de una pequeña base de datos se guarden y aparescan de nuevo en mi programa cuando lo ejecute?

supongamos que es una agenda y quiero guardar todos los datos en un .dat alguien podria ayudarme ?

BorecK

Vamos Celaya ayudame quiero ser tu dicipulo jejeje  :D

CeLaYa

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...
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

CeLaYa

bueno BorecK hechale un vistazo al código y mañana cuentamos como te fue, saludos desde México!!!
"La soledad es el elemento de los grandes talentos".
Cristina de Suecia (1626-1689) Reina de Suecia.

BorecK

jaja yo tambien soy de Mexico ando en puebla... el que creo que me sirve es el ultimo codigo voy a probar a ver si me funciona compadre  ;D