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

Ligar base de datos

Estas en el tema de Ligar base de datos en el foro de Visual Basic clásico en Foros del Web. Compañeros estoy comenzando con Visual Basic, necesito ayuda para poder cargar la informacion que tengo en una base de datos txt en un listbox para ...
  #1 (permalink)  
Antiguo 08/08/2008, 17:43
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Ligar base de datos

Compañeros estoy comenzando con Visual Basic, necesito ayuda para poder cargar la informacion que tengo en una base de datos txt en un listbox para seleccionar desde ahi una opcion. Si alguien me quiere indicar como se carga esto se lo agradecere. Mi base se llama secuencia.txt y solo tiene un campo por linea
  #2 (permalink)  
Antiguo 08/08/2008, 17:46
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Perdon, no es un listbox sino un combobox.
  #3 (permalink)  
Antiguo 09/08/2008, 02:58
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: Ligar base de datos

Bueno, puedes abrir el archivo para acceso secuencial y cargar cada linea en el combo:

Código:
Dim sLinea As String, sArchivo As String
    sArchivo = App.Path & "\secuencia.txt"
    Open sArchivo For Input As #1
    Text1.Text = ""
    Do While Not EOF(1)
        Line Input #1, sLinea
        Combo1.AddItem sLinea
    Loop
    Close #1
Nota: En este caso suponemos que el archivo se encuentra en el mismo directorio de la aplicación.

  #4 (permalink)  
Antiguo 12/08/2008, 19:49
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Gracias Avellaneda me funciona perfectamente, has sido muy amable de tu parte Dios te bendiga por ayudarnos a los que apenas comenzamos.

Saludos
  #5 (permalink)  
Antiguo 12/08/2008, 19:56
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Tengo una consulta y creo que con esto termino mi proyecto. Estoy haciendo una factura y en ocaciones el digitador no sabe el codigo del articulo a facturar, entonces necesito darle la opcion de que escriba el nombre del articulo por lo menos 5 letras y que en un combo o list box aparescan las opciones que puede tener para seleccionar y posteriormente hacerlo dando un doble click sobre la linea deseada y que esta se registre en la factura. Por favor ayudenme a realizar esta funcion. Gracias
  #6 (permalink)  
Antiguo 13/08/2008, 07:07
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Ligar base de datos

Aquí hay algo que puede serte de ayuda:
http://www.recursosvisualbasic.com.a...etar-combo.htm

Había otro ejemplo que usaba la API en vez de un bucle para buscar las coincidencias, si lo necesitas también puedo pasarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #7 (permalink)  
Antiguo 14/08/2008, 15:52
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

David por favor enviame el otro ejemplo que tienes. gracias
  #8 (permalink)  
Antiguo 14/08/2008, 16:02
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Ligar base de datos

Aquí tienes el otro ejemplo:
http://www.recursosvisualbasic.com.a...etar-combo.htm

Si todavía no es lo que buscas, puedes especificar exactamente cómo quieres y nos cuentas.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #9 (permalink)  
Antiguo 15/08/2008, 03:48
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: Ligar base de datos

Aquí te pongo otro, pero con un ListBox (List1). Según se va escribiendo en el TextBox (Text1) va marcando en el List la coincidencia y al hacer doble click en él, completa el TextBox.

Código:
Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Private Const LB_FINDSTRING = &H18F

Private Sub Text1_Change()
Dim lPos As Long
   
With List1
    If Text1.Text = "" Then .ListIndex = 0
    lPos = SendMessage(.hwnd, LB_FINDSTRING, -1, ByVal Text1.Text)
    If lPos >= 0 Then .ListIndex = lPos
End With
End Sub

Private Sub List1_DblClick()
Text1.Text = List1.Text
End Sub
  #10 (permalink)  
Antiguo 19/08/2008, 21:13
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Yo tengo una base de datos txt llamada inventario, el formulario que yo hice es como una factura, en este momento si yo digito el codigo del articulo me lo encuentra y me pone los datos sobre la linea segun lo tengo diseñado. Lo malo es cuando no se el codigo del articulo, entonces necesito pasarme al espacio donde iria la descripcion del articulo y poder escribir ahi el nombre del articulo que deseo. debe habrirse una ventana donde me presente todos los articulos que se llaman asi ademas del codigo. Al elegir el que deseo necesito poder marcarlo con doble click y que la informacion que necesito me quede sobre la linea de la factura. Lo hice como me indico Avellaneda pero no me funciono.
  #11 (permalink)  
Antiguo 19/08/2008, 21:21
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Otra pregunta es con relacion a borrar un registro de una base txt. Con la info que me envio Avellaneda para cargar un archivo en un textbox me fue genial, solo que necesito que una vez que imprimo la informacion correspondiente a la linea que elegi esta sea borrada del archido txt para que al aparecer nuevamente la pantalla para elegir otra la anterior ya no este ahi sino que haya sido borrada del archivo. Estuve hablando con mi profesor y parece que esa parte de como borrar registros de un archivo no la veremos por ahora. Segun me dijo hay que copiar el archivo en otro temporal pero sin pasar el registro que acabo de imprimir y luego otra vez copiar el archivo temporal en el permanente. Pero no me dijo como se hace. Si tienen un codigo por ahi que me pueda ayudar a resolver esto les agradecere. Mi archivo es el mismo del combobox. "SECUENCIA.TXT"
  #12 (permalink)  
Antiguo 20/08/2008, 06:16
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
De acuerdo Respuesta: Ligar base de datos

Pues si tienes los datos en el ComboBox lo único que necesitas hacer es volver a guardar los datos que tiene ese ComboBox, y suponiendo que ya has eliminado el elemento con RemoveItem puedes guardar el ComboBox completo. Ejemplo:
Código PHP:
Dim Looping As Integer
Close
Open 
"Archivo.txt" For Output As #1
For Looping 0 To Combo1.ListCount 1
     
Print #1, Combo1.List(Looping)
Next Looping
Close 
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #13 (permalink)  
Antiguo 23/08/2008, 17:01
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Gracias David me funciona perfectamente.
  #14 (permalink)  
Antiguo 23/08/2008, 17:08
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Compañeros, estoy haciendo un cuadro de estadistica y necesito poner los rangos de fecha en que deseo que inicie el reporte y la fecha que termine. He visto una forma en que al presionar un commandbutoom me aparece un calendario donde puedo elegir tanto dia, mes y año, simplemente selecciono el deseado y me lo pone en un textbox y asi con el de final. Como activo esta funcion de calendario y como hago para que al seleccionar la facha deseada me la pase al textbox. Gracias porque siempre estan dispuestos a ayudar
  #15 (permalink)  
Antiguo 24/08/2008, 01:20
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: Ligar base de datos

Cita:
Iniciado por alexiscespedes Ver Mensaje
Compañeros, estoy haciendo un cuadro de estadistica y necesito poner los rangos de fecha en que deseo que inicie el reporte y la fecha que termine. He visto una forma en que al presionar un commandbutoom me aparece un calendario donde puedo elegir tanto dia, mes y año, simplemente selecciono el deseado y me lo pone en un textbox y asi con el de final. Como activo esta funcion de calendario y como hago para que al seleccionar la facha deseada me la pase al textbox. Gracias porque siempre estan dispuestos a ayudar
Hola, creo que te refieres al control DTPicker que se encuentra dentro del componente Micrososft Windows Common Controls -2 6.0 (SP6).

Coloca en el Form 2 de estos controles (DTPicker1 y DTPicker2) el primero para indicar la fecha inicial y el otro para la final. También 2 TextBox (Text1 y Text2) en el primero se mostrará la fecha clicada en el primer calendario y en el otro la del segundo.

Y pones este

Código:
Private Sub DTPicker1_CloseUp()
Text1.Text = DTPicker1.Value
End Sub

Private Sub DTPicker2_CloseUp()
If DTPicker2.Value < DTPicker1.Value Then
    MsgBox "La fecha final debe ser superior a la inicial"
Else
    Text2.Text = DTPicker2.Value
End If
End Sub
  #16 (permalink)  
Antiguo 27/08/2008, 17:53
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Ok gracias avellaneda me funciona perfectamente lo de las fechas. Se me presenta un problema a la hora que cargo el archivo al combobox ya que me carga toda la linea completa y yo necesito que me cargue unicamente los vectores que deseo ver. Aqui les envio el codigo que tengo,

Public Function LIST() As String
Dim sLinea As String, sArchivo As String
Open ruta & "HISTORICO.txt" For Input As #1
LISTADO.Text = ""
Do While Not EOF(1)
Line Input #1, sLinea
LISTADO.AddItem CODIGO
Loop
Close #1
End Function

Yo necesito poder mostrar unicamente los campos que son necesarios como lo hago en un formulario de consulta, pero aqui no le puedo indicar que me ponga el vector(x) en una variable determinada. Gracias por su ayuda
  #17 (permalink)  
Antiguo 28/08/2008, 06:54
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Pregunta Respuesta: Ligar base de datos

¿A qué te refieres con los vectores? ¿Cómo estás guardando los datos en el archivo?
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #18 (permalink)  
Antiguo 28/08/2008, 16:22
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Respuesta: Ligar base de datos

Cita:
Iniciado por alexiscespedes Ver Mensaje
Ok gracias avellaneda me funciona perfectamente lo de las fechas. Se me presenta un problema a la hora que cargo el archivo al combobox ya que me carga toda la linea completa y yo necesito que me cargue unicamente los vectores que deseo ver. Aqui les envio el codigo que tengo,

Public Function LIST() As String
Dim sLinea As String, sArchivo As String
Open ruta & "HISTORICO.txt" For Input As #1
LISTADO.Text = ""
Do While Not EOF(1)
Line Input #1, sLinea
LISTADO.AddItem CODIGO
Loop
Close #1
End Function

Yo necesito poder mostrar unicamente los campos que son necesarios como lo hago en un formulario de consulta, pero aqui no le puedo indicar que me ponga el vector(x) en una variable determinada. Gracias por su ayuda
seria algo así como tener un listado de palabras en alguna parte, sería algo así, en este caso arme un array de palabra en lista, pero vos tenes tu propio listado.

Código:
Private Sub Command1_Click()
Dim lista(1) As String
lista(0) = "uno"
lista(1) = "dos"

For Each Item In lista
    'uno será el código leido del archivo de texto
    If Item = "uno" Then
    MsgBox Item
    'AddItem
    End If
Next Item

End Sub
nos vemos..
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #19 (permalink)  
Antiguo 28/08/2008, 16:55
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

David/Geo; yo tengo una base de datos txt. cuando yo la abro todos los datos de cada linea me aparecen entre comillas "", yo para elegir un campo lo selecciono como un vector. Ejemplo el vector(0) es el primer campo entre comillas, el vector(1) es el siguiente despues de la coma que el sistema pone cuando guarda los campos entonces queda algo asi.
"8889","DATOS DE PRUEBA","PRECIO DE ARTICULO","TOTAL".

Yo necesito cuando cargo el combobox definir que deseo el vector(x) y no que me cargue toda la linea, pero con el codigo que tengo me la carga toda. Yo lo que quiero es mostrar unicamente los campos que necesito.
  #20 (permalink)  
Antiguo 28/08/2008, 17:02
Avatar de GeoAvila
Colaborador
 
Fecha de Ingreso: diciembre-2003
Ubicación: Antigua Guatemala
Mensajes: 4.032
Antigüedad: 20 años, 4 meses
Puntos: 53
Respuesta: Ligar base de datos

Cita:
Iniciado por alexiscespedes Ver Mensaje
David/Geo; yo tengo una base de datos txt. cuando yo la abro todos los datos de cada linea me aparecen entre comillas "", yo para elegir un campo lo selecciono como un vector. Ejemplo el vector(0) es el primer campo entre comillas, el vector(1) es el siguiente despues de la coma que el sistema pone cuando guarda los campos entonces queda algo asi.
"8889","DATOS DE PRUEBA","PRECIO DE ARTICULO","TOTAL".

Yo necesito cuando cargo el combobox definir que deseo el vector(x) y no que me cargue toda la linea, pero con el codigo que tengo me la carga toda. Yo lo que quiero es mostrar unicamente los campos que necesito.

ahh ok.. entonces. hece esto hacelo con el split
Código:
Dim datos As String
Dim data() As String
datos = """datos1"",""datos2"",""datos3"""
data = Split(datos, ",")
MsgBox data(1)
nos vemos.
__________________
* Antes de preguntar lee las FAQ, y por favor no hagas preguntas en las FAQ
Sitio http://www.geoavila.com twitter: @GeoAvila
  #21 (permalink)  
Antiguo 02/09/2008, 21:00
 
Fecha de Ingreso: agosto-2008
Mensajes: 32
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Ligar base de datos

Hola amigos, sigo con el asunto de la estadistica, he visto funcionando un programa donde al seleccionar un rango de facha inicial y otro final y un objeto o codigo determinado me despliega una lista de los movimientos que ha tenido ese articulo dentro de las fechas seleccionadas. interesante es que la pantalla se va agrandando de acuerdo a la cantidad de movimientos que tiene el mismo. Comienza con una linea vacia y se va llenando y corriendo hacia abajo segun sea necesario. Que se usa ahi para hacer esa funcion. Listbox, Combobox o que. otra es que en ese listado me aparecen los datos en columnas segun lo desee acomodar, como lo hago porque si lo cargo directamente me presenta toda la linea y no tabulado como seria lo ideal.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 10:37.