hacker


Ingresar con nombre de usuario, contraseña y duración de la sesión
| Portal Hacker | Editorial | Descargas | Ezine |
Inicio Ayuda Ingresar Registrarse
24 de Julio de 2008, 01:23:52
Noticias: Convocatoria E-zine CPH #2
Para ver este enlace Registrate o Inicia Sesion
Aquí

+  Foros pOrtal Hacker
|-+  Programacion
| |-+  Programación en general
| | |-+  Visual Basic (Moderadores: ranefi, crypto136, ziBboh, >> s E t H <<)
| | | |-+  Ayuda con "Boton buscar, ComBox y problemas al guardar" conexion con DB ADO.
0 Usuarios y 1 Visitante están viendo este tema. « anterior próximo »
Páginas: 1 2 [Todos] Ir Abajo Imprimir
Autor Tema: Ayuda con "Boton buscar, ComBox y problemas al guardar" conexion con DB ADO.  (Leído 2241 veces)
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« : 12 de Junio de 2006, 04:56:28 »

salu2 a todos

tengo un pequeño problemilla con un programa q estoy elaborando en VB, y me preguntaba si me podrian ayudar...

lei varios de los codigos q de aqui y son muy buenos, en uno de ellos sale un codigo "Habilitar o deshabilitar un botón dependiendo del contenido de un TextBox", mi duda es si saben como habilitar y deshabilitar un boton dependiendo de lo q seleccione de la lista de un ComboBox..

por ejemplo q yo tenga mi ComboBox y en su lista tenga: pepe, maria, juan..

y quiero q cuando seleccione a maria q aparescan 2 label y dos botones...

el codigo q e manejado para dicha accion es:

Código:
If CmbSistemas.text = maria then
      LblCondicion.visible = true
      LblRegion.visible = true
      CmdCondicion.visible = true
      CmdRegion.visible = true
Else
      LblCondicion.visible = false
      LblRegion.visible = False
      CmdRegion.visible = False
      CmdCondicion = false
end if

en dicho proyecto tengo una base de datos Access conectada con un objeto ADO, tengo 5 textbox y cinco botones, guardar, salir, agregar, buscar y eliminar..

la cosa es q cuando relleno todos los texbox y le doy en guardar todos se guarda perfecto.. pero cuando solo quiero rellenar e campos de textbox me sale error y q los otros dos campos no pueden contener valor de longitud cero...

este es el codigo:

Código:
Private Sub CmdGuardar_Click()
    'Sub rutina que se activara en caso de que se genere un error al guardar registro
   
    'En la variable StrCnn se almacena la conexion con el objeto AdoDatos
    StrCnn = AdoDatos.ConnectionString
    'En la variable VarRecBd se almacena una imagen de la estructura de la tabla
    Set VarRecBd = New ADODB.Recordset
    'En la variable StrSql se almacena el nombre de la tabla a utilizar
    StrSql = "Select *From DatosCus Where ID = " + TxtID.Text
    'Con la instruccion With VarRecBd se le indica con que estructura se va a trabajar
    With VarRecBd
        'Se apertura la conexion con las base de datos y la tabla
        .Open StrSql, StrCnn, adOpenDynamic, adLockOptimistic
        'Se pregunta si es fin de archivo con la intencion de que la si la ID existe envia un mensaje informando al usuario de que esa ID ya existe
        If .EOF Then
            'Como la Cedula no fue encontrada se va a crear
            .AddNew
            'Se traslada lo que esta en los TexBox a los campos de la tabla
            .Fields("ID").Value = TxtID.Text
            .Fields("Usuario").Value = TxtUsuario.Text
            .Fields("Sistema").Value = CmbSistema.Text
            'Se procede a guardar el registro en la tabla
            .Update
            'Se envia un mensaje para notificar que se guardo el registro
            Mensaje = MsgBox("Registro Guardado", vbInformation, "Guardar")
            'Se habilitan algunos botones
            CmdAgregar.Enabled = True
            CmdGuardar.Enabled = False
            CmdEliminar.Enabled = True
            CmdSalir.Enabled = True
            AdoDatos.Enabled = True
            CmdBuscar.Enabled = True
            AdoDatos.Refresh
        Else
            'Si la ID existe se le notifica al usuario a travez de un mensaje
            Mensaje = MsgBox("ID ya Existe", vbInformation, "Existe")
            'Se mostrara los datos por pantalla los cuales podra modificar si asi lo desea
            .Fields("ID").Value = TxtID.Text
            .Fields("Usuario").Value = TxtUsuario.Text
            .Fields("Sistema").Value = CmbSistema.Text
            .Update
            Mensaje = MsgBox("El Registro fue Actualizado", vbInformation, "Actualiza")
            CmdGuardar.Enabled = False
            AdoDatos.Refresh
        End If
            'Se cierra la conexion
            .Close
            'Se Termina el With VarRecBd
    End With
'
'Sub-Rutina Errores
'
Errores:
    If Err.Number <> 0 Then
        Mensaje = MsgBox("Se ha Generado un Error: [" + Str(Err.Number) + " ] -" + Err.Description, vbCritical, "Error")
        Resume Next
    End If
End Sub

espero me puedan ayudar a resolver esta incognita para mi..

salu2

vapirox
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #1 : 12 de Junio de 2006, 06:14:39 »

tengo un pequeño problemilla con un programa q estoy elaborando en VB, y me preguntaba si me podrias ayudar...

lei varios de los codigos q posteaste y son muy buenos, en uno de ellos sale un codigo "Habilitar o deshabilitar un botón dependiendo del contenido de un TextBox", mi duda es si sabes como habilitar y deshabilitar un boton dependiendo de lo q seleccione de la lsita de un ComboBox..

por ejemplo q yo tenga mi ComboBox y en su lista tenga: pepe, maria, juan..

y quiero q cuando seleccione a maria q aparescan 2 label y dos botones...
.
.

Hola vapirox, buen día. Aquí te dejo el código para lo que pides arriba

Agregar 2 controles CommandButton, 2 Label, 1 ComboBox e insertar el siguiente código

Código:

Sub LlenarCombo()
    With Combo1
        .AddItem "Pepe"
        .AddItem "Juan"
        .AddItem "María"
    End With
End Sub

Sub HabilitarControles(Valor As Boolean)
    Label1.Visible = Valor
    Label2.Visible = Valor
   
    Command1.Visible = Valor
    Command2.Visible = Valor
End Sub

Private Sub Combo1_Click()
    Dim Nombre As String
   
    Nombre = "María" 'ESTA VARIABLE PUEDE DEPENDER DE UN VALOR GLOBAL
   
    If Combo1.Text = Nombre Then
        HabilitarControles True
    Else
        'EL CÓDIGO QUE NECESITES AQUÍ
        HabilitarControles False
    End If
End Sub

Private Sub Form_Load()
    LlenarCombo
    HabilitarControles False
End Sub


Como en el comentario del código dice, puedes dependizar la variable Nombre de un evento o una variable global (tú decides)

Cita de: vapirox
.
.
... En dicho proyecto tengo una base de datos Access conectada con un objeto ADO, tengo 5 textbox y cinco botones, guardar, salir, agregar, buscar y eliminar..

la cosa es q cuando relleno todos los texbox y le doy en guardar todos se guarda perfecto.. pero cuando solo quiero rellenar e campos de textbox me sale error y q los otros dos campos no pueden contener valor de longitud cero...
.
.

Ahora, con respecto a lo que mencionas sobre el error del código al momento de guardar tus datos; lamento decirte que no puedo ayudarte mucho, ya que sólo me muestras una parte del código y no me detallas a grandes rasgos tu problema. Como sea, el error que mencionas puede deberse a que dejas algún TextBox sin datos y los cuales no pueden contener valores nulos. Para esto te recomiendo que crees un "Sub" que te llene campos con un valor determinado o en su defecto, que no te permita avanzar (puedes utilizar mensajes de alerta). Otra recomendación es que utilices "Subs" para habilitar o deshabilitar controles (como en ejemplo de más arriba). Espero haberte ayudado. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #2 : 12 de Junio de 2006, 07:07:25 »

ok te dare mi codigo completo para q le heches un vistazo y si ves algo malo me lo dices:

Código:

Public VarRecBd As ADODB.Recordset

Private Sub CmdAgregar_Click()
    Mensaje = MsgBox("Desea Incluir un Nuevo Registro", vbYesNo, "Incluir")
   
    'Sub Rutina que se activara en caso de que se genere un error al incluir registro
   
    If Mensaje = vbYes Then
        'Se habilitan todos los TextBox
        TxtID.Enabled = True
        TxtUsuario.Enabled = True
        CmbSistema.Enabled = True
        TxtRegion.Visible = False
        TxtCondicion.Visible = False
        LblRegion.Visible = False
        LblCondicion.Visible = False
        'Se blanquean los TexBox
        TxtID = ""
        TxtUsuario = ""
        CmbSistema = ""
        TxtRegion = ""
        TxtCondicion = ""
        'Se Habilitan y deshabilitan  algunos botones
        CmdAgregar.Enabled = False
        CmdEliminar.Enabled = False
        CmdSalir.Enabled = True
        CmdGuardar.Enabled = True
        AdoDatos.Enabled = False
        CmdBuscar.Enabled = False
        Mensaje = MsgBox("Introdusca los Datos y Pulse el Boton de [Guardar]")
        'Se coloca el foco sobre el TexBox de Id
        TxtID.SetFocus
'
'Sub-Rutina Errores
'
Errores:
    If Err.Number <> 0 Then
        Mensaje = MsgBox("Se ha Generado un Error:[" + Str(Err.Number) + "]-" + Err.Description, vbCritical, "Error")
        Resume Next
    End If
    End If
   
End Sub

Private Sub CmdBDCUS_Click()
    CmdBDCUS.Visible = False
    ImgLogo.Visible = False
    LblID.Visible = True
    LblUsuario.Visible = True
    LblSistema.Visible = True
    LblRegion.Visible = True
    LblCondicion.Visible = True
    TxtID.Visible = True
    TxtUsuario.Visible = True
    TxtRegion.Visible = True
    TxtCondicion.Visible = True
    AdoDatos.Visible = True
    CmdAgregar.Visible = True
    CmdEliminar.Visible = True
    CmdGuardar.Visible = True
    TxtID.Enabled = False
    TxtUsuario.Enabled = False
    TxtRegion.Enabled = False
    TxtCondicion.Enabled = False
    CmdBuscar.Visible = True
    CmbSistema.Visible = True
    CmbSistema.Enabled = False
End Sub


Private Sub CmdBuscar_Click()
Dim Criterio As String
Dim Busqueda As String
           
    Busqueda = InputBox("Introduce nombre a buscar", "Búsqueda por Nombre")
           
    With VarRecBd
         Criterio = "Nombre LIKE '*" & Busqueda & "*'"
         If Busqueda = "" Then
            Exit Sub
         Else
            .MoveNext
         If Not .EOF Then
            .Find Criterio
         End If
         If Not .EOF Then
            .Find Criterio
         Else
            .MoveFirst
            .Find Criterio
         If .EOF Then
            .MoveLast
            MsgBox "Dato no encontrado", vbInformation, "    ¡Aviso!"
         End If
         End If
         End If
    End With
End Sub

Private Sub CmdEliminar_Click()
    'Rutina que se utiliza para eliminar
    'Sub rutina que se utilizara en caso de que se genere un error al eliminar un registro
    On Error GoTo Errores:
    'StrCnn es la variable donde se almacena la coneccion con la base de datos
    StrCnn = AdoDatos.ConnectionString
    'VarRecBd es la variable que almacena la imagen de la estructura de la tabla (DatosCus)
    Set VarRecBd = New ADODB.Recordset
    'StrSql es la variable en donde se almacena el nombre de la tabla y el campo clave
    StrSql = "Select *From DatosCus Where ID = " + TxtID.Text
    'Se procede a trabajar con la imagen de la estructura de la tabla
    With VarRecBd
        'Se procede a aperturar la coneccion con la tabla y la base de datos
        .Open StrSql, StrCnn, adOpenDynamic, adLockOptimistic
        'Si encuentra la ID que es el campo clave debe preguntar si lo desea eliminar
        If Not .EOF Then
            Mensaje = MsgBox("Desea Eliminar el Registro", vbYesNo, "Eliminar")
            'Si la respuesta es afirmativa procedera a elimiar el registro
            If Mensaje = vbYes Then
            .Delete
            Mensaje = MsgBox("El Registro fue Eliminado", vbInformation, "Aviso")
            'Se Blanquean todos los TexBox
            TxtID = ""
            TxtUsuario = ""
            CmbSistema = ""
            TxtRegion = ""
            TxtCondicion = ""
            'Se Refresca o actualiza el objeto Ado
            AdoDatos.Refresh
        End If
        'Si no encuentra la ID
        Else
            Mensaje = MsgBox("El Registro no Existe", vbInformation, "Eliminar")
        End If
        'Se Cierra la coneccion con la base de datos
        .Close
    End With
'
'Sub-Rutina Errores
'
Errores:
    If Err.Number <> 0 Then
        Mensaje = MsgBox("Se ha generado un error: [" + Str(Err.Number) + "] - " + Err.Description, vbCritical, "Error")
        Resume Next
    End If
End Sub

Private Sub CmdGuardar_Click()
    'Sub rutina que se activara en caso de que se genere un error al guardar registro
   
    'En la variable StrCnn se almacena la conexion con el objeto AdoDatos
    StrCnn = AdoDatos.ConnectionString
    'En la variable VarRecBd se almacena una imagen de la estructura de la tabla
    Set VarRecBd = New ADODB.Recordset
    'En la variable StrSql se almacena el nombre de la tabla a utilizar
    StrSql = "Select *From DatosCus Where ID = " + TxtID.Text
    'Con la instruccion With VarRecBd se le indica con que estructura se va a trabajar
    With VarRecBd
        'Se apertura la conexion con las base de datos y la tabla
        .Open StrSql, StrCnn, adOpenDynamic, adLockOptimistic
        'Se pregunta si es fin de archivo con la intencion de que la si la ID existe envia un mensaje informando al usuario de que esa ID ya existe
        If .EOF Then
            'Como la Cedula no fue encontrada se va a crear
            .AddNew
            'Se traslada lo que esta en los TexBox a los campos de la tabla
            .Fields("ID").Value = TxtID.Text
            .Fields("Usuario").Value = TxtUsuario.Text
            .Fields("Sistema").Value = CmbSistema.Text
            'Se procede a guardar el registro en la tabla
            .Update
            'Se envia un mensaje para notificar que se guardo el registro
            Mensaje = MsgBox("Registro Guardado", vbInformation, "Guardar")
            'Se habilitan algunos botones
            CmdAgregar.Enabled = True
            CmdGuardar.Enabled = False
            CmdEliminar.Enabled = True
            CmdSalir.Enabled = True
            AdoDatos.Enabled = True
            CmdBuscar.Enabled = True
            AdoDatos.Refresh
        Else
            'Si la ID existe se le notifica al usuario a travez de un mensaje
            Mensaje = MsgBox("ID ya Existe", vbInformation, "Existe")
            'Se mostrara los datos por pantalla los cuales podra modificar si asi lo desea
            .Fields("ID").Value = TxtID.Text
            .Fields("Usuario").Value = TxtUsuario.Text
            .Fields("Sistema").Value = CmbSistema.Text
            .Update
            Mensaje = MsgBox("El Registro fue Actualizado", vbInformation, "Actualiza")
            CmdGuardar.Enabled = False
            AdoDatos.Refresh
        End If
            'Se cierra la conexion
            .Close
            'Se Termina el With VarRecBd
    End With
'
'Sub-Rutina Errores
'
Errores:
    If Err.Number <> 0 Then
        Mensaje = MsgBox("Se ha Generado un Error: [" + Str(Err.Number) + " ] -" + Err.Description, vbCritical, "Error")
        Resume Next
    End If
End Sub

Private Sub CmdSalir_Click()
        Mensaje = MsgBox("Desea Salir del Formulario", vbYesNo, "SALIR")
    If Mensaje = vbYes Then
        'Se descarga el formulario
        Unload Me
        Mensake = MsgBox("Hasta Luego", vbInformation, "Aviso")
    End
    End If
End Sub

Private Sub Form_Load()
   
    'Mensaje de Bienvenida
    Mensaje = MsgBox("Bienvenido a Base De Datos CUS", vbInformation, "Programacion y Diseño Miguel Batista")
    'Se deshabilitan botones
    CmdGuardar.Enabled = False
    LblID.Visible = False
    LblUsuario.Visible = False
    LblSistema.Visible = False
    LblRegion.Visible = False
    LblCondicion.Visible = False
    TxtID.Visible = False
    TxtUsuario.Visible = False
    TxtRegion.Visible = False
    TxtCondicion.Visible = False
    AdoDatos.Visible = False
    CmdAgregar.Visible = False
    CmdEliminar.Visible = False
    CmdGuardar.Visible = False
    CmdBuscar.Visible = False
    CmbSistema.Visible = False
End Sub




Private Sub Timer1_Timer()
    LblTime.Caption = Time
    LblDate.Caption = Date$
End Sub



te hare una breve explicacion de lo q se trata el proyecto y de lo que hice mas o menos..

me mandaron a hacer una base de datos de usuarios.
los usuarios se dividen por sistemas.
conecte access 2000 con VB.6 tengo una sola tabla.
use el objeto ADOdc para dicha coneccion
ya le di la propiedad de data source y data field a cada uno de los textbox
tengo 4 texbox y un combobox
tengo 5 botones CMd : guardar, salir, eliminar, buscar y agregar..
la cosa es que tengo en la base de datos access dos claves principales la id y el sistema.. para poder tener varios nombres de usuarios e id repetidos.
la cosa es q cada usuario de la base de datos tiene un sistema y el combobox que hice tiene en la lista cada uno de los sitemas q tengo..
y lo q yo queria es q a la hora de agregar un nuevo registro cuando le de en CmdAgregar se blanquean los textbox y se ocultan los dos label y los dos text box q no ncesito, la cosa es q esos campos de textbox son informacion q solo usan las personas de sistemas SGA y los demas sistemas no lo usan.. entonces yo quiero q cuando se seleccione de la lista del textbox la palabra SGA aparezcan los dos lbl y txt q desapareci y si escoje otro de la lista q sea diferente a SGA q desaparescan los lbl y txt q te mencione...

échale un vistazo a tu código de buscar q de verdad no me funciono

gracias por la ayuda
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #3 : 12 de Junio de 2006, 07:20:24 »

Hola, sabes, noté que definiste un nombre para cada control, te pido de favor me envíes el archivo con el código fuente. Ahora, con respecto al código del botón buscar, te recomiendo que revises bien, pues sí funciona, es probable que te esté faltando algo. Nos vemos.



PD: Que no se te olvide enviarme el archivo con el código fuente.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #4 : 12 de Junio de 2006, 11:10:04 »

de verdad no le veo el error al boton buscar..
pues la verdad nunk habia trabajado con ese boton pues nunk maneje una base de datos tan grande como la q manejo ahora q esd de 1000 y pico de personas..

cuando le doy en buscar, me sale el inputBox perfecto pero cuando escribo y le doy en ok, me sale un error el cual dice:

[Vax]
Run-Time error '91':
object variable or with block variable not set

(y me sombrea el caracter .MoveNext) ahora no se si le ves alguna solucion
[/vax]

el otro codigo q me diste es perfecto pero con la coneccion a la Db Access me daba error, ya q el CmbSistema (combobox) aparecia en blanco y cuando le daba ensiguiente en el control ado me salia error ya q el campo CmbSistema no puede contener una longitud cero...

pero ya lo solucione era xq le aplicaba la carga de las .addnew de las listas al cargar el form y me daba un error ya q tenia ese Cmb conectado con la Bd y lo tenia en enabled false para q nadie lo modifique desde la carga del form, y por consecuencia tenia q escojer una opcion pero como no podia salia en texto "" y me daba el error. la solucion son dos: uno cargar la opcion de llenar combo cuando le de en agregar o dos eliminar esa rutina y colocarlo fisica mente en propiedades en list y agregaba las mismas opciones q coloque en la rutina llenar combo....

tengo otro problema con el boton guardar pero primero por parte necesito primero resolver el problema q tengo con este dichoso boton buscar..
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #5 : 12 de Junio de 2006, 11:54:33 »

Bien, creo darme una idea del error que lo causa, pero para estar más seguro y dejar de darle vueltas a esto, te pido que nos envíes el programa completo, junto con la bases de datos, esto para ahorrar tiempo. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #6 : 13 de Junio de 2006, 07:54:11 »

este esw el boton buscar y me da error::


Código:
Private Sub CmdBuscar_Click()
Dim Criterio As String
Dim Busqueda As String
            Set VarRecBd = New ADODB.Recordset
    Busqueda = InputBox("Introduce nombre a buscar", "Búsqueda por Nombre")
           
    With Rst
         Criterio = "Nombre LIKE '*" & Busqueda & "*'"
         If Busqueda = "" Then
            Exit Sub
         Else
            .MoveNext
         If Not .EOF Then
            .Find Criterio
         End If
         If Not .EOF Then
            .Find Criterio
         Else
            .MoveFirst
            .Find Criterio
         If .EOF Then
            .MoveLast
            MsgBox "Dato no encontrado", vbInformation, "    ¡Aviso!"
         End If
         End If
         End If
    End With
End Sub

hechenkle un vistazo y se le ven algo malo me avisan. [por sierto la conexion q tengo con la Db es con un objeto ADO.. salu2
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #7 : 13 de Junio de 2006, 08:41:50 »

El código está correcto, no hay ningún error en él, te recomiendo exhaustivament e que nos envíes el archivo con el código fuente pues así no podemos ofrecerte mucha ayuda. Te recomiendo que utilices 4Shared para hospedar tu código fuente. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #8 : 14 de Junio de 2006, 10:52:24 »

el boton guardar ya lo estoy arreglando.. lo tendre listo para tomorrow..

solo quede con una duda. sabes q en este tipo de programa, solo puede anexar a la base de datos un solo registro a la ves, pero yo me pregunto si istalan un nuevo programa aqui, y se lo ponen a todos los usuarios, como haria para vaciar todos esos datos si me lo entregan en formato de excel??

tengo esa gran duda, ya q solo hasta el momento me han dado pocos usuarios con sistemas existentes, pero si me llegaran a dar 1000 usuarios nuevos como los registro?? la gran duda es, existe la posibilidad de q pueda descargar o vaciar toda la informacion que me entreguen en formato excel para pasarlo directamente a mi base de datos... existe una forma de realizar descargas masivas, si me pueden averiguar ese codigo u/o funcion se los agradeceria mucho..

ose yo quiero q cuando me manden una base de datos grande en excel con los mismos campos q tengo en mi base de datos, pueda descatgarlo en dicha base de datos (access) con un solo click..

o tendria q colocar registro por registro a mano, se imaginan si me dieran 1000 rtegistros, por ello pienso en el futuro..

salu2

vapirox
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #9 : 14 de Junio de 2006, 11:34:46 »

Para ello tienes varias opciones, la que se me ocurre en estos intantes es que conviertas los libros de Excel en bases de datos de Access (la opción se encuentra al guardar los archivos). Espero esto te dé una idea. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #10 : 15 de Junio de 2006, 05:13:09 »

osea pero al convertirlos en base de datos de access.. se me crearia otra base de datos aparte y no me funcionaria, yoe stoy buscando la forma de q se me vacie toda la informacion q tenga en una base de datos excel vaciarla en mi base de datos access... si me averiguan una manera, come les dije nunk e trabajado con una cantidad tan grande de datos.. por ende nunk necesite en boton buscar ni pensar en vaciar una gran cantidad de datos en una tabla...
yo por mi parte seguire averiguando eso por otro lado, y terminare de revisar mi codigo de guardar para encontrar el error...

salu2

vapirox
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #11 : 15 de Junio de 2006, 05:30:52 »

sabes que cuando uno selecciona un campo como campo clave, este quiere decir q no se puede repetir en el registro.. ahora yo en mi db access coloque dos campos claves (ID) y (Sistema).. para poder anexar id iguales y sistema iguales, pero q no se repitan id y sistema al mismo tiempo.. bueno acabe de ver en mi codigo de guardar de VB q declare un solo campo como campo clave, declare al campo ID:

Código:
StrSql = "Select *From DatosCus Where ID = " + TxtID.Text

mi pregutna es para decir que quiero dos campos claves osea ID y Sistema seria de esta menra ??

Código:
StrSql = "Select *From DatosCus Where ID + sistema = " + TxtID.Text + CmbSistema.Text

salu2

vapirox
« Última modificación: 15 de Junio de 2006, 06:10:44 por vapirox » En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #12 : 15 de Junio de 2006, 06:18:30 »

sabes que cuando uno selecciona un campo como campo clave, este quiere decir q no se puede repetir en el registro.. ahora yo en mi db access coloque dos campos claves (ID) y (Sistema).. para poder anexar id iguales y sistema iguales, pero q no se repitan id y sistema al mismo tiempo.. bueno acabe de ver en mi codigo de guardar de VB q declare un solo campo como campo clave, declare al campo ID:

Código:
StrSql = "Select *From DatosCus Where ID = " + TxtID.Text

mi pregutna es para decir que quiero dos campos claves osea ID y Sistema seria de esta menra ??

Código:
StrSql = "Select *From DatosCus Where ID + sistema = " + TxtID.Text + CmbSistema.Text

salu2

vapirox

Buen día vapirox. La forma que utilizas no es correcta. No entiendo el por qué quieres hacer eso, ¿podrías especificarlo?

Cita de: vapirox
......... osea pero al convertirlos en base de datos de access.. se me crearia otra base de datos aparte y no me funcionaria... .......

Claro, pero existe una opción que se llama Exportar. Espero se solucione tu problema. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #13 : 15 de Junio de 2006, 06:40:02 »

osea cuando anexo un registro, me dice q la cedula ya existe

StrSql = "Select *From DatosCus Where ID = " + TxtID.Text

xq tengo declarado que TxtID es el campo clave, y yo lo que quiero es declarar a dos campos como campos claves, osea TxtID.text y TxtSistema.tex t

que sean campos claves, y haci puedo agregar cedulas duplicadas sin decirme q ID ya existe, solo cuando yo coloque una ID y un sistema que ya existe en mi base datos en un solo campo, pues q me diga cedula y sistema ya existe.. ves
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #14 : 15 de Junio de 2006, 03:09:37 »

osea cuando anexo un registro, me dice q la cedula ya existe

StrSql = "Select *From DatosCus Where ID = " + TxtID.Text

xq tengo declarado que TxtID es el campo clave, y yo lo que quiero es declarar a dos campos como campos claves, osea TxtID.text y TxtSistema.tex t

que sean campos claves, y haci puedo agregar cedulas duplicadas sin decirme q ID ya existe, solo cuando yo coloque una ID y un sistema que ya existe en mi base datos en un solo campo, pues q me diga cedula y sistema ya existe.. ves

Hola vapirox. A ver, dejame ver si entendí, ¿deseas tener dos campos claves? De ser así pues accede a Access y crea otro campo clave. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #15 : 19 de Junio de 2006, 05:56:27 »

esa es la cuestion, ya tengo los dos campos claves en la base de datos access, pero en VB tengo declarado un solo campo como clave y no se como declararlo para tenerlo como en access dos campos claves osea dos campos claves

mira ve en esta variable estoy declarando: primero el nombre de la tabla de la bases de datos con la cual estoy trabajando y tambien declaro el campo ID como campo clave... y quisiera saber es como declarar los dos campos claves que tengo en access para tenerlos aqui..

Código:
StrSql = "Select *From DatosCus Where ID = " + TxtID.Text

lo unico que se em a venido a la mente seria declararlo en dos lineas .. algo asi
corrigeme si me equivoco o si hay alguna otra manera hasmela saber..

Código:
StrSql = "Select *From DatosCus Where ID = " + TxtID.Text
StrSql2 = "Select *From DatosCus Where Sistema = " + CmbSistema.Text

ahora no se si estoy errado, no he tenido oportunindad de probar esta conbinacion, ahora creo q me daria un pequeño error en la linea dodne abro la conexion, la cual quedaria de esta manera al haber hecho el paso anterior

Código:
.Open StrSql, StrSql2, StrCnn, adOpenDynamic, adLockOptimistic

espero tu respuesta

salu2
vapirox
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #16 : 19 de Junio de 2006, 06:14:40 »

Buen día vapirox. Lleva a cabo lo siguiente:

Código:

StrSql = "Select *From DatosCus Where ID = " + TxtID.Text + " AND Sistema = " + CmbSistema.Text


Espero te sirva. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #17 : 19 de Junio de 2006, 06:44:18 »

bueno me esta dando un errorsillo, le hechare un ojo, pero seguro que ese codigo funciona?
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #18 : 20 de Junio de 2006, 10:30:22 »

ranefi ya revisaste el codigo??


una pregunta, sabes que tengo mis  combobos, como hago cuando los usuarios ejecuten dicho programa, que solo puedan seleccionar de la lista del combobox una opcion pero que no puedan escribirm en el combobox, no se si me explique...

todabia tengo el orrible error con el boton guardar

salu2
vapirox
« Última modificación: 20 de Junio de 2006, 10:42:20 por vapirox » En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128
ranefi
Moderador Global
*****
Desconectado Desconectado

Mensajes: 1,232


SELECT * FROM guapos WHERE papito_chulo = 'ranefi'


Ver Perfil WWW
« Respuesta #19 : 20 de Junio de 2006, 11:10:06 »

ranefi ya revisaste el codigo??


una pregunta, sabes que tengo mis  combobos, como hago cuando los usuarios ejecuten dicho programa, que solo puedan seleccionar de la lista del combobox una opcion pero que no puedan escribirm en el combobox, no se si me explique...

todabia tengo el orrible error con el boton guardar

salu2
vapirox

Para bloquear el control ComboBox debes hacer lo siguiente:

Código:

Private Sub Combo1_KeyPress(KeyAscii As Integer)
    KeyAscii = 0
End Sub


Eso es todo.

Con respecto a revisar el código, ya te mencioné cuales son los errores que debes corregir, es por eso que persiste el error con el botón buscar. Nos vemos.
En línea


SELECT * FROM mejores_batos_ del_mundo WHERE id = (SELECT DISTINCT id_guapo FROM los_mas_guapos _del_mundo WHERE papito_chulo = 'ranefi')
vapirox
NZ1
*
Desconectado Desconectado

Mensajes: 41


VapiroX renacera .. Angel of Death


Ver Perfil WWW
« Respuesta #20 : 20 de Junio de 2006, 11:53:55 »

Con respecto a revisar el código, ya te mencioné cuales son los errores que debes corregir, es por eso que persiste el error con el botón buscar. Nos vemos.

ok si es verdad solo q no recordaba q se colocaba " Private Sub _KeyPress(KeyAscii As Integer) "

el boton Buscar ya lo modifique la semana pasada y ya me funciona, el error te digho es con el boton guardar...
no se xq no me esta guardando.

una pregunta, existe la posibilidad de que yo tenga un lista en el combobox y seleccione un iten de la lista por ejemplo q se llame juan, y a la hora de guardar quiero que en la base de datos se guarde con otro nombre..

por ejemplo:

en mi escuela : tengo una lista juan pepe y pablo y cada uno tiene un numero, 1 2 y 3..
y a juan le toca el numero 1..

yo queiro que en la lista del combobox salga normal los tres nombres pero queiro que cuando seleccione cualqueir nombre se guarde en la base de datos con su codigo.. en este caso seleccione a juan y cuando busque sus datos quiero q es ves q diga juan diga 1..

salu2

vapirox
En línea

Visitenla para aumentar visitas gracias
Para ver este enlace Registrate o Inicia Sesion
http://www.mgcluster.net/mges_world2/index.php?ac=main&vid=32005128