elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Guía rápida para descarga de herramientas gratuitas de seguridad y desinfección


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  ID en base de datos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: ID en base de datos  (Leído 11,383 veces)
TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
ID en base de datos
« en: 19 Junio 2009, 20:09 pm »

Hola, amigos.

Veran, tengo una base de datos con tablas Albaran y RecibosDePago. y las ID's de cada tabla son autonumericas. Pues mi problema esta en que al crear un Albaran tambien tengo que crear un ReciboDePago, pero mi problema esta que como relaciono el Albaran con RecibosDePago, si cada uno generan sus ID automáticamente.

he pensado en una ves guardado el albaran, ya se genera la ID. y esta ID tendria que asignarla al ReciboDePago. Pero para eso tendría que cerrar el albaran, luego buscarlo y abrirlo. cosa que asi ya sabria el ID que se asigno a mi albaran. luego recien crear el ReciboDepaGO.. pues como veran estoy hecho un lio.. ayuda porfavor..



En línea

Spider-Net


Desconectado Desconectado

Mensajes: 1.165


Un gran poder conlleva una gran responsabilidad


Ver Perfil WWW
Re: ID en base de datos
« Respuesta #1 en: 19 Junio 2009, 23:47 pm »

Pues no entiendo muy bien del todo cual es tu problema la verdad, pero si quieres relacionar un albarán y un recibo porque no usas una tabla intermedia y creas una relación?

Albarán ------------- corresponde -------------recibo
idalbaran                  ida - idr                      idrecibo

En la relación guardas el id de cada  uno de ellos y cuando quieras saber que albarán corresponde con qué recibo solo tienes que consultar la tabla corresponde. Es como siempre se ha hecho no?

De todos modos no sé si entendí del todo bien tu pregunta.


En línea

cassiani


Desconectado Desconectado

Mensajes: 978


« Anterior | Próximo »


Ver Perfil WWW
Re: ID en base de datos
« Respuesta #2 en: 20 Junio 2009, 01:15 am »

depende del tipo de relación que necesites, puedes hacerla de uno a uno ó de uno a muchos, colocando un campo foraneo en la tabla recibos.. pero, eso no tiene nada que ver con vb6  :-\
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: ID en base de datos
« Respuesta #3 en: 20 Junio 2009, 01:54 am »

Hola, pues con un ID  :P...no importa que haya un registro autonumerico...si queres relacionarlas es con un ID y no hay otra...
En línea

TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: ID en base de datos
« Respuesta #4 en: 20 Junio 2009, 10:02 am »

Lo que deseo es: Recibir el último ID de una inserción. Practicamente algo igual como se ve aqui: http://www.desarrolloweb.com/articulos/1433.php
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: ID en base de datos
« Respuesta #5 en: 20 Junio 2009, 19:55 pm »

hace un Max(idregistro) y listo...despues le sumas 1 para el nuevo registro...
En línea

SKL (orignal)

Desconectado Desconectado

Mensajes: 259


UpLoadSourceCode


Ver Perfil WWW
Re: ID en base de datos
« Respuesta #6 en: 20 Junio 2009, 23:39 pm »

hace un Max(idregistro) y listo...despues le sumas 1 para el nuevo registro...

Ojo aca... si queres visualizar esto... tenes que hacer asi...

Código:
SELECT MAX(Campo) AS Variable FROM tabla

entonces si queres visualizar El campo maximo de esa tabla haces lo siguiente

Código:
debug.print RecordeSet("variable")

el debug.print puede ser reemplazado por otra variable o un txt y a la vez poder sumarle un valor.

PD: a mucha gente le confunde y no sabe como sacar el valor despues de hacer el query

saludos
En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: ID en base de datos
« Respuesta #7 en: 21 Junio 2009, 03:29 am »

de esta forma adiciono un nuevo registro cuando el valor de este es autonumerico, hago la consulta primero y al valor obtenido del campo ID le agrego 1:

Código
  1. With RecorsetNuevoRegistro
  2.        .Open "Select campo From tabla ORDER BY ID", ActiveConnection:="mi cadena conexion", _
  3.        CursorType:=adOpenKeyset, LockType:=adLockOptimistic
  4.        .MoveLast
  5.        valornuevaid = !ID + 1
  6.        .Close
  7. End With

con respecto a lo de la relación que deben tener las tablas eso ya te lo explico muy bien cΔssiΔnі y es independiente de vb.

saludos  ;D
« Última modificación: 21 Junio 2009, 03:33 am por XcryptOR » En línea



TheGhost(Z)

Desconectado Desconectado

Mensajes: 230



Ver Perfil
Re: ID en base de datos
« Respuesta #8 en: 21 Junio 2009, 15:02 pm »

Hola, XcryptOR. Me podrías explciar esto, xq me parece interesante el código.

Supongamos que tengo la tabla Clientes con dos campos ID (Autonumerico) y Nombre (Char)

Paso1
Inserto un registo.
Dim Rs As New Recorset
Rs.Open "Clientes"
Rs.AddNew
Rs!Nombre = TheGhost(Z)
Rs.UpDate
Rs.Close

Ahora: como obtengo esa id, conciderando que unos x usuarios estan ingresando datos al mismo tiempo.


En línea

XcryptOR

Desconectado Desconectado

Mensajes: 228



Ver Perfil
Re: ID en base de datos
« Respuesta #9 en: 21 Junio 2009, 16:17 pm »

agregale la clausula WHERE especificando que vamos a filtrar por Nombre


Código:
With RecorsetNuevoRegistro
        .Open "Select campo From tabla WHERE Nombre='TheGhost(Z)' ORDER BY ID", ActiveConnection:="mi cadena conexion", _
        CursorType:=adOpenKeyset, LockType:=adLockOptimistic
        .MoveLast
        valornuevaid = !ID + 1
        .Close
 End With
En línea



Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines