Foros del Web » Programación para mayores de 30 ;) » Programación General » Visual Basic clásico »

visual basic y access

Estas en el tema de visual basic y access en el foro de Visual Basic clásico en Foros del Web. hola, estoy haciendo un programa y trabajo con la base de datos de access, ya que es con la que he trabajado siempre, me han ...
  #1 (permalink)  
Antiguo 29/03/2006, 12:06
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
visual basic y access

hola, estoy haciendo un programa y trabajo con la base de datos de access, ya que es con la que he trabajado siempre, me han recomendado otras que dicen son mejores, pero muy liosas para mi, bueno mi duda es la siguiente:
si en un proyecto tengo un textbox y quiero que ballan a dos tablas diferentes de una base de datos ¿como lo hago?
  #2 (permalink)  
Antiguo 29/03/2006, 12:26
Avatar de vampirito  
Fecha de Ingreso: enero-2004
Ubicación: h.frias 218-301
Mensajes: 121
Antigüedad: 20 años, 4 meses
Puntos: 0
yo creo que lo 1 ero que debes de hacer es normalizar tu base ya que no es bueno que tengas 2 tablas con los mismos datos, es mejor crear una tabla independiente y llevarte dicho campo como llave foranea, de esa manera solo tendrias que modificar 1 sola tabla y podrias tener dicha informacion en varias tablas, ejemplo:

si tienes una tabla que se llama empleados y otra clientes y en las 2 tienes el campo llamado delegacion, mejor crea una tabla nueva y la llamas delegaciones, pones una llave foranea en empleados y clientes y de esa manera no duplicas datos.
__________________
Vampirito
  #3 (permalink)  
Antiguo 29/03/2006, 14:10
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
llave foranea?... a ver aver, muy interesante, ¿como se hace eso?
saludos
  #4 (permalink)  
Antiguo 30/03/2006, 11:23
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
ok

gracias, tienes razon, es que no me he explicado bien del todo, veras... sigamos con tu ejemplo... imagina, en la tabla empleados estan los nombres, direcciones, telefonos, d.n.i. etc, pues bien quiero que el dato telefonos vlla a otra tabla... no todos los datos de esa tabla solo algunos, en este caso que el dato "telefonos" valla a dos tablas distintas, una a empleados y otra por ejemplo a numeros de telefono.... no se si me habre explicado mejor, en resumen es pasar determinados datos de una tabla a otra tabla.
gracias y saludos
  #5 (permalink)  
Antiguo 30/03/2006, 11:45
Avatar de Developer9
(Desactivado)
 
Fecha de Ingreso: abril-2005
Ubicación: Mi Ecuador del alma
Mensajes: 4.196
Antigüedad: 19 años
Puntos: 47
Supongo que tienes un programa en visual basic en el cual tienes un boton y cuando presiones el boton se copien los datos. Explicate mejor. Describe todas las tablas en cuestion por favor. Lo que necesitas hacer no es nada dificil, pero lo haces dificil al no explicar bien
  #6 (permalink)  
Antiguo 30/03/2006, 12:00
Avatar de vampirito  
Fecha de Ingreso: enero-2004
Ubicación: h.frias 218-301
Mensajes: 121
Antigüedad: 20 años, 4 meses
Puntos: 0
ok si estoy en un error alguien hagamelo saber!!!

segun yo debes crear tus tablas y luego crear una consulta haciendo una relacion entre las tablas ya que lo hagas dale clik derecho a la linea y vete a propiedades de la combinacion y elijes la ultima opcion.

creo que con eso se arregla tu problema.

no soy una eminencia en esto, me puedo equivocar, por favor si alguin sabe algo al respecto haganlo saber.

es preferible 5 minutos de ignorancia, a una vida completa!!!!!
__________________
Vampirito
  #7 (permalink)  
Antiguo 30/03/2006, 13:10
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
ok

ok, lo explicare tal y como lo estoy haciendo:
1º, una bd que se llama "informe" en dicho informe creamos 4 tablas, una se llama (recaudacion de cliente 1), la otra (recaudacion de cliente 2), la otra recuadacion de cliente 3), y la otra (recaudacion general)
2º un informe donde tengo varios componentes y entre ellos text1, text2, y text3, donde van determinadas cantidades que voy introduciendo... y explico la duda, quiero que cuando llene los text mediante un boton (command) por ejemplo las cantidades del: text1, valla a la tabla (recaudacion de clientes1), el text2 a la tabla (recaudacion de clientes 2), el text3 a la tabla (recaudacion de clientes 3) y a la vez que tanto text1, text2 y text3 vallan tambien a la tabla (recaudacion general).
no se si me habre explicado mejor, de todas formas gracias por interesarse.
saludos
  #8 (permalink)  
Antiguo 30/03/2006, 13:23
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Eso es fácil. Usá recordset.addnew

On Error Resume Next
NombreRecordset.addnew
NombreRecordset!NombreTabla1 = Text1.Text
NombreRecordset!NombreTabla2 = Text2.Text
NombreRecordset!NombreTabla3 = Text3.Text
NombreRecordset!NombreTabla4 = Val(Text1.Text) + Val(text2.text) + Val(text3.text) 'Eso si querés que lo sume, si no concatená: NombreRecordset!NombreTabla4 = text1.text & ", " & text2.text & ", " & text3.text
NombreRecordset.Update

Salu2!
__________________
diegoz.com.ar

Última edición por Frehley; 30/03/2006 a las 13:38
  #9 (permalink)  
Antiguo 30/03/2006, 15:05
 
Fecha de Ingreso: enero-2006
Mensajes: 83
Antigüedad: 18 años, 3 meses
Puntos: 0
ok

ok frehley, pero como enlazo los text con la db? con un data?
  #10 (permalink)  
Antiguo 31/03/2006, 04:18
Avatar de Frehley  
Fecha de Ingreso: junio-2005
Ubicación: Somewhere between Heaven and Hell
Mensajes: 415
Antigüedad: 18 años, 10 meses
Puntos: 0
Cita:
Public cn As ADODB.Connection
Public rs As ADODB.Recordset
Public rs2 As ADODB.Recordset
Public rs3 As ADODB.Recordset
Public rs4 As ADODB.Recordset
Public strconn As String

Private Sub Form_Initialize()
strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & App.Path & "\database.mdb"
Set cn = New ADODB.Connection

cn.ConnectionString = strconn
cn.CursorLocation = adUseClient
cn.Open

Set rs = New ADODB.Recordset
rs.Open "TABLA1", cn, adOpenDynamic, adLockOptimistic

Set rs2 = New ADODB.Recordset
rs.Open "TABLA2", cn, adOpenDynamic, adLockOptimistic

Set rs3 = New ADODB.Recordset
rs.Open "TABLA3", cn, adOpenDynamic, adLockOptimistic

Set rs4 = New ADODB.Recordset
rs.Open "TABLA4", cn, adOpenDynamic, adLockOptimistic

End Sub

En el evento donde guarda los datos ponés:

Cita:
On Error Resume Next
rs.addnew
rs!NombreColumna = Text1.Text
rs2.addnew
rs2!NombreColumna = Text2.Text
rs3.addnew
rs3!NombreColumna = Text3.Text
rs4.addnew
rs4!NombreColumna = Val(Text1.Text) + Val(text2.text) + Val(text3.text) 'Eso si querés que lo sume, si no concatená: NombreRecordset!NombreTabla4 = text1.text & ", " & text2.text & ", " & text3.text
rs.Update
rs2.Update
rs3.Update
rs4.Update
Creo que es así, tendrias que usar una sola tabla
__________________
diegoz.com.ar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 09:54.