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

Ayuda con una funcion

Estas en el tema de Ayuda con una funcion en el foro de Visual Basic clásico en Foros del Web. Desea crear una funcion para un insert into lo logre manejando los indices de los text lo que quiero es hacer que no sea por ...
  #1 (permalink)  
Antiguo 10/05/2009, 07:41
 
Fecha de Ingreso: abril-2009
Mensajes: 136
Antigüedad: 15 años
Puntos: 1
Ayuda con una funcion

Desea crear una funcion para un insert into lo logre manejando los indices de los text lo que quiero es hacer que no sea por los indices si no por el nombre del control ejemplo si el campo se llama nombre el control en el formulario seria TXTNOMBRE pero no quiero hacerlo uno por uno me gustaria hacerlo con un bucle algo asi como

CAMPO = "O" & campo

seria como decirle que el campo1 de la base de datos deberia ser el control que posea el mismo nombre pero con una o por delante espero alguien me pueda ayudar
  #2 (permalink)  
Antiguo 10/05/2009, 12:32
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: Ayuda con una funcion

Hola, lo que se me ocurre es que crees una funcion a la cual le pases como parametro los textbox y despues para armar la cadena SQL con .Name sacas el nombre del control que le pasaste como parametro...algo asi:

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.     Call Funcion(Text1)
  3. End Sub
  4.  
  5. Private Sub Funcion(ByVal pControl As TextBox)
  6.     MsgBox pControl.Name
  7. End Sub

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
  #3 (permalink)  
Antiguo 10/05/2009, 13:48
 
Fecha de Ingreso: abril-2009
Mensajes: 136
Antigüedad: 15 años
Puntos: 1
Respuesta: Ayuda con una funcion

Gracias funcionaria si solo utilizo textbox la cosa es que utilizo otros controles ejemplo combobox entre otros pero gracias
  #4 (permalink)  
Antiguo 10/05/2009, 19:33
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda con una funcion

Para que funcione con varios controles sólo cambia el parámetro por As Control en lugar de As TextBox
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #5 (permalink)  
Antiguo 10/05/2009, 19:43
 
Fecha de Ingreso: abril-2009
Mensajes: 136
Antigüedad: 15 años
Puntos: 1
Respuesta: Ayuda con una funcion

Ok aver si me explico mejor

esto es lo que tengo en un modulo

Sub insertar(tabla As String, Campos As String, VALORES As String)

cn.Execute " INSERT INTO `" & tabla & "` (" & Campos & ") VALUES " & _
"(" & VALORES & ")"

End Sub

en el formulario hago esto

'Le asigno los campos a trabajar
For i = 0 To rc.Fields.Count - 1 'Cambiar valor hasta
If i < rc.Fields.Count - 1 Then 'Opcion segun campo
Campos = Campos & rc.Fields(i).Name & "," 'Diferente al ultimo campo
Else 'En caso contrario
Campos = Campos & rc.Fields(i).Name 'Ultimo campo
End If 'cierro condiciones
Next 'siguiente bloque

'Le asigno los valores para el insert into
For i = 0 To rc.Fields.Count - 1 'Cambiar valor hasta
If i < rc.Fields.Count - 1 Then 'Cambiar valor hasta
VALORES = VALORES & "'" & Text1(i) & "'," 'Diferente Ultimo campo
Else 'En caso contrario
VALORES = VALORES & "'" & Text1(i) & "'" 'Ultimo campo
End If 'cierro condiciones
Next 'Siguiente Bloque

en el boton de grabar llamo call insertar ("tabla",campos,valores)

Lo hace excelente lo que quiero es poder manejar otros controles que no sean solo texta seria identificandolo con el nombre del campo en la base de datos alguien me echa una mano please y gracias de antemano
  #6 (permalink)  
Antiguo 11/05/2009, 17:19
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: Ayuda con una funcion

es exactamente como te dijo David...al declarar As Control podes trabajar con cualquier control...

saludos.
__________________
" Todos Somos Ignorantes; lo que pasa es que no todos ignoramos las mismas cosas " - Albert Einstein
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:10.