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

Insertar un codigo a partir dela seleccion de un nombre

Estas en el tema de Insertar un codigo a partir dela seleccion de un nombre en el foro de Visual Basic clásico en Foros del Web. Hola, tengo un combobox de clientes, pero resulta que cuando le de insertar a todo el formulario necesito es que inserte el codigo de ese ...
  #1 (permalink)  
Antiguo 21/01/2009, 07:16
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Insertar un codigo a partir dela seleccion de un nombre

Hola,

tengo un combobox de clientes, pero resulta que cuando le de insertar a todo el formulario necesito es que inserte el codigo de ese cliente mas no el nombre que seleccione.

Me pueden ayudar? Gracias.
  #2 (permalink)  
Antiguo 21/01/2009, 08:22
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

No se entiende...

Pone tu codigo y explica lo que queres
  #3 (permalink)  
Antiguo 21/01/2009, 09:23
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Mira:

en vez de insertar un nombre en la tabla lo que necesito es insertar el codigo.

en un combo escojo el nombre del cliente, pero al momento de insertarlo deberia insertar el codigo de ese cliente.

lo que he hecho es esto:

Arcusfil es la tabla cliente entonces el va hasta la tabla busca todos los clientes y los pone en el combo.

Cadena_SQL = "SELECT COUNT(*) as cus_name FROM ARCUSFIL_SQL"
Cadena_SQL_1 = "select * from ARCUSFIL_SQL"

'CARGA DE COMBO
CantReg = Rsl.Fields("cus_name")

Rs5.MoveFirst

For i = 0 To CantReg - 1
Cbo_Cliente.AddItem Rs5.Fields("cus_name")
Rs5.MoveNext

Next i


lo que necesito es en el momento ya de ingresar no me ingrese el nomebre (cus_name) si no el codigo (cus_no) en la tabla pedidos.
  #4 (permalink)  
Antiguo 21/01/2009, 12:17
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Cita:
Iniciado por natalyro Ver Mensaje
Mira:

en vez de insertar un nombre en la tabla lo que necesito es insertar el codigo.

en un combo escojo el nombre del cliente, pero al momento de insertarlo deberia insertar el codigo de ese cliente.

lo que he hecho es esto:

Arcusfil es la tabla cliente entonces el va hasta la tabla busca todos los clientes y los pone en el combo.

Cadena_SQL = "SELECT COUNT(*) as cus_name FROM ARCUSFIL_SQL"
Cadena_SQL_1 = "select * from ARCUSFIL_SQL"

'CARGA DE COMBO
CantReg = Rsl.Fields("cus_name")

Rs5.MoveFirst

For i = 0 To CantReg - 1
Cbo_Cliente.AddItem Rs5.Fields("cus_name")
Rs5.MoveNext

Next i


lo que necesito es en el momento ya de ingresar no me ingrese el nomebre (cus_name) si no el codigo (cus_no) en la tabla pedidos.
Lo que entendi es que actualmente en el combo te carga los nombres de los clientes, y vos necesitas que cargue el CODIGO del cliente, en vez del nombre... Si es asi en ves de usar "cus_name" usa "cus_no"

Pero, a lo ultimo decis que queres que ingrese en la tabla de pedidos el codigo del cliente.... Ahi ya cambiaste la jugada por que no se te entiende lo que vos queres.... Ahora interpreto que necesitas lo siguiente:

En el combo que cargue los nombres de los clientes, pero al guardar el pedido que en vez de guardar el nombre guarde el CODIGO del cliente (osea nombre) que seleccionaste en el combo...

Si es eso realmente lo que necesitas, crea una funcion que te devuelva el codigo del cliente apartir del nombre asi la podes usar en cualquier momento.

SELECT cus_no FROM ARCUSFIL_SQL WHERE cus_name='NOMBRE CLIENTE';

EDITO: Para que se entienda mejor... Crea una funcion publica algo asi

Public Function Cliente_codigoXnombre(Nombre as String) as String
pones la consulta de arriba en algun recorset libre y asignas el valor a "Cliente_codigoXnombre"
End Function

De esta manera no repetis el codigo, y siempre que lo necesitas llamas a la funcion
  #5 (permalink)  
Antiguo 21/01/2009, 13:56
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Hola, es simple, cuando cargas el combobox de clientes con los nombres , tambien carga en el ItemData el codigo del cliente...y cuando te toque guardar...guarda el Valor del ItemData...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #6 (permalink)  
Antiguo 21/01/2009, 13:58
Avatar de culd  
Fecha de Ingreso: noviembre-2003
Mensajes: 959
Antigüedad: 20 años, 6 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Cita:
Iniciado por seba123neo Ver Mensaje
Hola, es simple, cuando cargas el combobox de clientes con los nombres , tambien carga en el ItemData el codigo del cliente...y cuando te toque guardar...guarda el Valor del ItemData...

saludos.
Si el codigo de cliente es alfanumerico no sirve...
  #7 (permalink)  
Antiguo 21/01/2009, 14:18
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

pues no dijo de que tipo era...pero se soluciona usando el Datacombo que si acepta...
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #8 (permalink)  
Antiguo 21/01/2009, 15:44
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Bueno gracias a los dos por las respuestas..

ensayare la respuestas y ya les cuento.

Besitos
  #9 (permalink)  
Antiguo 22/01/2009, 07:59
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

es que hay un problema..

el formulario que estoy haciendo es pedido, pero el combo con los nombres los llamo de la tabla cliente igual el codigo, entonces lo que pasa es que necesito insertar el codigo del cliente en la tabla pedido.
  #10 (permalink)  
Antiguo 22/01/2009, 10:03
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

y que problema hay?? cargas el datacombo con el nombre del cliente y en la propiedad BoundText cargas el id....algo asi:

Código:
Private Sub Cargar()
    Dim rsCargar As ADODB.Recordset
    Set rsCargar = New ADODB.Recordset
    
    rsCargar.Open "SELECT idCliente AS id,nombre FROM Clientes ORDER BY nombre", TuConexion, adOpenStatic, adLockReadOnly, adCmdText
    
    Set DataCombo1.DataSource = rsCargar
    Set DataCombo1.RowSource = rsCargar
    DataCombo1.ListField = "nombre"
    DataCombo1.BoundColumn = "id"
End Sub
ahi tenes cargado el combo con el nombre y los id...y cuando te toque guardar guardas el BoundText...que es el que tiene el id del cliente..

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #11 (permalink)  
Antiguo 22/01/2009, 10:37
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Sebal gracias por tu respuesta asi funciona muy bien, pero para mi no porque la empresa tiene visual y este tiene muchas restricciones y uns de ellas es que no acepta los controles como el datacombo.
  #12 (permalink)  
Antiguo 22/01/2009, 11:08
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Cita:
Iniciado por natalyro Ver Mensaje
Sebal gracias por tu respuesta asi funciona muy bien, pero para mi no porque la empresa tiene visual y este tiene muchas restricciones y uns de ellas es que no acepta los controles como el datacombo.
Con un control ComboBox normal:

With Rs5
Do Until .EOF
Combo1.AddItem .Fields("cus_name")
Combo1.ItemData(Combo1.NewIndex) = .Fields("cus_no")
.MoveNext
Loop
End With


Seleccionar el nombre y mostrar el número
Código:
Private Sub Combo1_Click()
    MsgBox Combo1.ItemData(Combo1.ListIndex)
End Sub
  #13 (permalink)  
Antiguo 22/01/2009, 12:56
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Gracias por responderme Avellaneda,

pero si mi visual tampoco ecepta el with con cual lo podria reemplazar, la verdad estoy programando casi a pedal por todas esas restricciones.

Nota: el resto de lo que propones si lo acepta.

Slds
  #14 (permalink)  
Antiguo 22/01/2009, 14:01
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Cita:
Iniciado por natalyro Ver Mensaje
Gracias por responderme Avellaneda,

pero si mi visual tampoco ecepta el with con cual lo podria reemplazar, la verdad estoy programando casi a pedal por todas esas restricciones.

Nota: el resto de lo que propones si lo acepta.

Slds
¿Queee?

Tu visual no acepta el With, con qué visual estás programando?

De todas formas, si el resto si lo acepta, quita el With.. End With y delante de cada punto coloca Rs5

  #15 (permalink)  
Antiguo 22/01/2009, 14:34
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Cita:
Iniciado por natalyro
Sebal gracias por tu respuesta asi funciona muy bien, pero para mi no porque la empresa tiene visual y este tiene muchas restricciones y uns de ellas es que no acepta los controles como el datacombo.
que barbaridad , el DataCombo no es un control estandar...lo tenes que agregar desde el menu Proyecto->Componentes y ahi seleccionas el que dice Microsoft DataList Controls 6.0..., eso te va a agregar 2 controles a la barra de herramientas...el DataList y el DataCombo...son igual que los originales pero especiales para trabajar con bases de datos...

Cita:
Iniciado por Avellaneda
Con un control ComboBox normal:

With Rs5
Do Until .EOF
Combo1.AddItem .Fields("cus_name")
Combo1.ItemData(Combo1.NewIndex) = .Fields("cus_no")
.MoveNext
Loop
End With
si eso ya se lo habia propuesto antes, pero como el ItemData solo acepta numeros pues si es alfanumerica la clave no sirve...pero nosotros no tenemos la culpa..natalyro nunca dijo de que tipo es la clave...

Cita:
Iniciado por natalyro
pero si mi visual tampoco ecepta el with con cual lo podria reemplazar, la verdad estoy programando casi a pedal por todas esas restricciones.
jaja y con esto tengo para reirme todo el dia...vos sabes que ya me quedan dudas...pone una captura de donde estas programando

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #16 (permalink)  
Antiguo 22/01/2009, 15:07
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

pues la verdad a mi no me da mucha risa....

estoy que me estallo para hacer solo esa bobada.

de todas maneras gracias atodos.

chao. slds.
  #17 (permalink)  
Antiguo 22/01/2009, 16:01
Avatar de seba123neo  
Fecha de Ingreso: febrero-2007
Ubicación: Esperanza, Santa Fe
Mensajes: 1.046
Antigüedad: 17 años, 2 meses
Puntos: 19
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

no te ofendas che...aparte no sos de explicar mucho...decis que no te lo reconoce...y la pregunta es ¿porque no te lo reconoce? te tira algun error..te marca algo...no somos adivinos...
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #18 (permalink)  
Antiguo 22/01/2009, 17:12
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

no no estoy brava ni mucho menos..

si a mi tambien me da risa por no llorar pero bueno..

es simple la empresa compro un sistema de informacion el cual ya venia con el visual pero limitado con restricciones y esa clase de cosas que ya les comente que no reconoce.

el caso es que mi consulta es la siguiente:

Cadena_SQL = "SELECT COUNT(*) as cus_no FROM ARCUSFIL_SQL where cus_name= '" & Cbo_Cliente.Text & "' "

SELECT COUNT PORQUE ERA DE LA UNICA MANERA QUE ME CARGABA EL COMBO.

'CARGA DE COMBO
CantReg = Rsl.Fields("cus_name")

Rs5.MoveFirst

For i = 0 To CantReg - 1
Cbo_Cliente.AddItem Rs5.Fields("cus_name")
Rs5.MoveNext

Next i

ME SACA UN ERROR 3265. QUE NO PUEDE ENCONTRAR EL NOMBRE O ALGO ASI.
  #19 (permalink)  
Antiguo 23/01/2009, 09:42
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Alguna idea entonces?
  #20 (permalink)  
Antiguo 23/01/2009, 10:55
Colaborador
 
Fecha de Ingreso: enero-2008
Ubicación: Unas veces aquí, otras veces allí
Mensajes: 1.482
Antigüedad: 16 años, 3 meses
Puntos: 37
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Cita:
Iniciado por natalyro Ver Mensaje
no no estoy brava ni mucho menos..

si a mi tambien me da risa por no llorar pero bueno..

es simple la empresa compro un sistema de informacion el cual ya venia con el visual pero limitado con restricciones y esa clase de cosas que ya les comente que no reconoce.

el caso es que mi consulta es la siguiente:

Cadena_SQL = "SELECT COUNT(*) as cus_no FROM ARCUSFIL_SQL where cus_name= '" & Cbo_Cliente.Text & "' "

SELECT COUNT PORQUE ERA DE LA UNICA MANERA QUE ME CARGABA EL COMBO.

'CARGA DE COMBO
CantReg = Rsl.Fields("cus_name")

Rs5.MoveFirst

For i = 0 To CantReg - 1
Cbo_Cliente.AddItem Rs5.Fields("cus_name")
Rs5.MoveNext

Next i

ME SACA UN ERROR 3265. QUE NO PUEDE ENCONTRAR EL NOMBRE O ALGO ASI.
Un par de aclaraciones:

'Count' en una consulta de agrupamiento, solamente devuelve un registro con el número de registros (0, 2, 15, 222, etc) coincidentes en la consulta.

No encuentra el nombre 'cus_name' porque el nombre del campo lo estás asignando como 'cus_no' con la clausula As.


  #21 (permalink)  
Antiguo 23/01/2009, 12:50
 
Fecha de Ingreso: noviembre-2008
Mensajes: 131
Antigüedad: 15 años, 5 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

Gracias Avellaneda, pero entonces quedaria asi:

Cadena_SQL = " select cus_no FROM ARCUSFIL_SQL where cus_name= '" & Cbo_Cliente.Text & "' "

igual ya lo probe, pero no se si te entendi.
  #22 (permalink)  
Antiguo 09/02/2009, 14:53
 
Fecha de Ingreso: febrero-2009
Mensajes: 18
Antigüedad: 15 años, 3 meses
Puntos: 0
Respuesta: Insertar un codigo a partir dela seleccion de un nombre

oye, pero si estas ocupando el sql server o el postgresql, pudes llamar a un procedimietno de almacenado en el cual te inserta y él mismo te busca el code del cliente a través del nombre dado..
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 22:55.