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

 

 


Tema destacado: Sigue las noticias más importantes de seguridad informática en el ttwitter! de elhacker.NET


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [Vb6][Access] Ayuda con consulta a BD.
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Vb6][Access] Ayuda con consulta a BD.  (Leído 1,869 veces)
FranciskoAsdf

Desconectado Desconectado

Mensajes: 231


Ni bueno, ni malo. Solo nada.


Ver Perfil WWW
[Vb6][Access] Ayuda con consulta a BD.
« en: 5 Febrero 2014, 22:51 pm »

Hola a todos, saludos;
He venido a molestar de nuevo, pero es que en verdad no se me da lo de las consultas xD, es por eso que he venido a solicitar vuestra ayuda :D!!

Lo que quiero hacer es lo siguiente,

Tengo una base de datos en Access (*.mdb) en la que tengo 3 columnas donde esta la información que quiero rescatar, las columnas son las siguientes y se componen de los siguientes datos. (obviamente no los escribiré todos o me faltaría foro xD)

Código:
Material Des_Material                         EAN
30201         PAN CORRIENTE KILO                 30201
1342            ABASTERO VACUNO NACI KG                 EAN_NOT_FOUND
1364            ABASTERO VACUNO CAT U GRANEL 1 KG 87168

La tabla se compone de esa forma, hay Materiales que son iguales a los EAN y otros no, y hay EAN en donde no hay datos pero se representan como "EAN_NOT_FOUND" (para no dejar el espacio en blanco)

Lo que hago yo en el programa es ingresar un numero (Material o EAN) en un InputBox y ahi me busca el material con la siguiente consulta

Código
  1. MaterialSAP = InputBox("Ingrese Material SAP", "Ingreso Mermas")
  2.  
  3.    mirec.Open "SELECT * FROM CllDB WHERE material = " & (MaterialSAP) & " ", mibd, adOpenKeyset, adLockOptimistic
  4.  
  5.    If mirec.RecordCount > 0 Then ' verifico si encontro registro
  6.        des_material.ForeColor = &H8000& ' cambio el color de la letra si lo encontro
  7.        des_material.Caption = mirec!des_material ' muestro la descripcion del material en el label des_material
  8.        mirec.Close
  9.     Else
  10.        If mirec.RecordCount = 0 Then ' si no encontro nada
  11.            des_material.ForeColor = &HFF& ' cambio el color a rojo
  12.            des_material.Caption = "MATERIAL NO ENCONTRADO" ' y muestro esto.
  13.            mirec.Close
  14.     End If
  15.    End If
  16.  

Si encontró el producto, me muestra el nombre del material (des_Material) y si no, muestra "MATERIAL NO ENCONTRADO".

Pero ahora si, lo que necesito es lo siguiente (es un poco complicado de explicar).

Por ejemplo, si yo ingreso el siguiente numero: 87168 que me muestre el material 1364 y la descripción del material, pero si ingreso un numero y no esta en la columna EAN que busque en la columna "Material" y muestre el valor encontrado, pero si no existe en ninguna de las dos columnas que muestre "material no encontrado" y que la variable (MaterialSAP) quede con el valor ingresado.

Se entiende? xD, en verdad tengo la idea en mi mente, pero no se como llevarla a consulta, ya que como dije mas arriba soy realmente malo para las consultas complicadas xD!!. Es por eso que he venido aca a pedir ayuda, a ver si a alguien se le ocurre algo :D!!..

Eso, espero algun alma bondadosa me pueda ayudar con este tema que me esta quebrado la cabeza xD!

Saludos, y gracias de ante mano!!



En línea

Asdf debería ser algún tipo de función.
HdM


Desconectado Desconectado

Mensajes: 1.674



Ver Perfil
Re: [Vb6][Access] Ayuda con consulta a BD.
« Respuesta #1 en: 7 Febrero 2014, 12:19 pm »

Hola.

¿Por qué no modificas la consulta para que busque en esos dos campos a la vez?

Código
  1. mirec.Open "SELECT * FROM CllDB WHERE ean = '" & MaterialSAP & "' OR material = " & MaterialSap , mibd, adOpenKeyset, adLockOptimistic

¿O es que un mismo valor puede darse para materiales diferentes en esos campos?

Saludos.


En línea

- Nice to see you again -
FranciskoAsdf

Desconectado Desconectado

Mensajes: 231


Ni bueno, ni malo. Solo nada.


Ver Perfil WWW
Re: [Vb6][Access] Ayuda con consulta a BD.
« Respuesta #2 en: 7 Febrero 2014, 16:40 pm »

ninguno de los valores en las columnas se repite, ni material,  ni des_material ni EAN, el tema es que necesito que si ingreso un valor que es igual en la columna EAN, tome el valor de la columna material y guarde ese valor.

probé la consulta pero me dice : "no se puede usar la conexión para realizar esta operación . esta cerrada o no es válida en este contexto"

Saludos!
En línea

Asdf debería ser algún tipo de función.
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: [Vb6][Access] Ayuda con consulta a BD.
« Respuesta #3 en: 7 Febrero 2014, 17:48 pm »

ninguno de los valores en las columnas se repite, ni material,  ni des_material ni EAN, el tema es que necesito que si ingreso un valor que es igual en la columna EAN, tome el valor de la columna material y guarde ese valor.

probé la consulta pero me dice : "no se puede usar la conexión para realizar esta operación . esta cerrada o no es válida en este contexto"

Saludos!

A qué te refieres con que guarde ese valor???, a que lo guarde en la base de datos si no existe? o.O

La consulta seguramente no te la ejecuta porque le faltan comillas simples después del OR

Código
  1. mirec.Open "SELECT * FROM CllDB WHERE material = '" & (MaterialSAP) & "' OR material = '" & MaterialSap & "'", mibd, adOpenKeyset, adLockOptimistic
En línea

abc
FranciskoAsdf

Desconectado Desconectado

Mensajes: 231


Ni bueno, ni malo. Solo nada.


Ver Perfil WWW
Re: [Vb6][Access] Ayuda con consulta a BD.
« Respuesta #4 en: 7 Febrero 2014, 23:48 pm »

A lo que me refiero con "que guarde ese valor" es que si encuentra el valor que ingrese en el inputbox en la columna EAN tome el valor que hay en la columna material. xD

EDITO:

Gracias por la consulta a ambos!, me funciono perfecto!!, no puedo creer que la solución haya sido solo un "OR" xD!!.

De igual manera ya se me había ocurrido una "solución", bastante engorrosa a mi gusto (y al de todos xD).
Obviamente me quedo con la de uds !!!..


Esta era mi solucion xD


Código
  1. MaterialSAP = InputBox("Ingrese Material SAP", "Ingreso Mermas")
  2.  
  3.    'mirec.Open "SELECT * FROM CllDB WHERE material = " & (MaterialSAP) & " ", mibd, adOpenKeyset, adLockOptimistic
  4.  
  5.    mirec.Open "SELECT * FROM CLLDB WHERE EAN = '" & (MaterialSAP) & "' ", mibd, adOpenKeyset, adLockOptimistic
  6.  
  7.    If mirec.RecordCount > 0 Then
  8.        des_material.ForeColor = &H8000&
  9.        des_material.Caption = mirec!des_material
  10.        'Label6.Caption = mirec!material
  11.        'MaterialSAP = Label6.Caption
  12.        MaterialSAP = mirec!material
  13.        mirec.Close
  14.     Else
  15.        If mirec.RecordCount = 0 Then
  16.             des_material.ForeColor = &HFF&
  17.             des_material.Caption = "MATERIAL NO ENCONTRADO"
  18.             mirec.Close
  19.     End If
  20.    End If
  21.  
  22. If des_material.Caption = "MATERIAL NO ENCONTRADO" Then
  23.  
  24.    mirec.Open "SELECT * FROM CllDB WHERE material = " & (MaterialSAP) & " ", mibd, adOpenKeyset, adLockOptimistic
  25.  
  26. If mirec.RecordCount > 0 Then
  27.        des_material.ForeColor = &H8000&
  28.        des_material.Caption = mirec!des_material
  29.        'Label6.Caption = mirec!material
  30.        mirec.Close
  31.        Else
  32.            If mirec.RecordCount = 0 Then
  33.                des_material.ForeColor = &HFF&
  34.                des_material.Caption = "MATERIAL NO ENCONTRADO"
  35.                mirec.Close
  36.            End If
  37.        End If
  38.     End If
  39.  
En línea

Asdf debería ser algún tipo de función.
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
ayuda para una consulta en access
Programación Visual Basic
eszzes 1 864 Último mensaje 17 Noviembre 2008, 15:30 pm
por Angeldj27
[SOLUCIONADO]consulta sql access
.NET (C#, VB.NET, ASP)
diego_lp 6 15,288 Último mensaje 5 Diciembre 2009, 17:00 pm
por ^Tifa^
Duda consulta Access
Bases de Datos
criskapunk 1 2,609 Último mensaje 9 Septiembre 2011, 17:59 pm
por [u]nsigned
Problema consulta access
Bases de Datos
Galyco 0 943 Último mensaje 17 Febrero 2016, 00:23 am
por Galyco
VB.Net consulta BD access
.NET (C#, VB.NET, ASP)
01munrra 1 820 Último mensaje 12 Abril 2016, 13:25 pm
por HdM
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines