Programa de facturación

Estoy haciendo un programa de facturación pero necesito que me ayuden que al ingresar un código el el grid me cargue todos los registros de la base se datos que comiencen por a o pob o por c, o sea la primera letrs del código
Yo confío en ustedes
(xxxxxx)
1

1 respuesta

1
Respuesta de
Necesito saber más datos acerca de tu situación, por lo pronto se me ocurre que utilices la siguiente sentencia SQL:
SELECT *FROM Productos WHERE Codigo LIKE '%" & TxtCodigo & "%'
La cláusula LIKE te permite obtener valores similares a los que introduces utilizando el signo de porcentaje (%) como comodín.
El ejemplo anterior te recupera todos los registros de la tabla Productos que contengan en alguna parte del campo Código el valor que introduzcas en un TextBox llamado TxtCodigo.
SELECT *FROM Productos WHERE Codigo LIKE '%" & TxtCodigo & "'
El ejemplo anterior te recupera todos los registros de la tabla
Productos en el campo Código que inicien con el valor que
Introduzcas en un TextBox llamado TxtCodigo.
Pero no sé si estás manejando SQL en tu sistema, dame más información y te podré ayudar.
Saludos desde México. Juan Pablo E.P.
Muchas gracias por tu ayuda. Bueno no estoy usanso la sentencia SQL, este es el código que tengo dim buscado as string, criter as string
buscado =text1.text
if buscado="" then exit sub
criter=buscado"CODIGO LIKE" *' " &buscado& *'"
Adodc1.recorset.moveNext
if adodc1.recorset.EOF then
msflexgrig1.text=!codigo
msflexgrid1.tex=!descripcion
adodc1.recorset.find criter
end if
adodc1.recorset.moveFirst
if adodc1.recorset.eof then
adodc1.recorset.moveLast
Lo que te explico es que tengo una caja de texto donde introduzco el valor o el código a buscar. Tengo un MsflexGrid donde me aparece el código que buscopero solo me muestra un registro por ejemplo tengo una base de datos de una ferretería la tabla se llama pintura en ella tengo todo lo que se vende para hacer trabajos de pintura como por ejemplo brocgas motas o rodillos removedores de pinturas a cada producto le asigne un código según el color de pintura así también con todo los demás artículos
Dices que no usas SQL y veo que tienes un "intento" de sentencia SQL, pero bueno, ya me has dado más datos y ahora si puedo ser más específico al ayudarte.
El siguiente código lo colocas en el evento clic de un CommandButton [en el ejemplo se llama CmdBuscar]
Private Sub CmdBuscar_Click()
    Dim Rst As New ADODB.Recordset
    Dim Cnx As New ADODB.Connection
    Dim RutaBD As String, SQL As String
    Dim i As Integer
    'especifica la ubicacion de tu BD
    RutaBD = App.Path & "\bd.mdb"
    'conectar a la bd en la ruta especificada
    Cnx.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & RutaBD
    'escribir la sentencia SQL que encuentra un elemento escrito en _
    un TextBox llamado TxtCodigo
    SQL = "SELECT * FROM Productos WHERE Codigo LIKE '%" & TxtCodigo & "'"
    'abre el Recordset con la instrucción SQL y la ruta de la BD dadas
    Rst.Open SQL, Cnx, adOpenStatic, adLockPessimistic
    'si encontró registros coincidentes con el texto escrito en TxtCodigo
    If Rst.RecordCount Then
        'hacer un ciclo que permita recuperar todos los _
        registros encontrados
        For i = 1 To Rst.RecordCount
            'agregar un nuevo elemento (fila) al MSFlexGrid1
            MSFlexGrid1.AddItem Rst!Codigo & vbTab & Rst!Nombre & vbTab & Rst!Direccion
            'mover el Recorset al siguiente registro
            Rst.MoveNext
        Next i
    End If
End Sub
Si aún así tienes alguna duda, comunícamelo enseguida, estoy seguro que podremos resolverla. [Si desea otra forma de hacerlo también podemos buscarla].
Saludos desde México. Juan Pablo E.P.
Eres lo máximo y se me olvido decirte que la conexión a la base de datos yo la tengo con un control adodc1. ¿cres tu que ese es el problema? No se si me entiendes ya que el código que me das es para conectar a la base de datos pero lo voy a intentar con el código que me facilitas tu eres uno de los expertos y creo que sabes de visual más que yo. Se que tengo alguien que me pude guiar en mi aprendizaje de visual
Oye Juan gracias por ayudarme la verdad no se donde se valoran las respuestas pero te digo que te doy un 100. En cuanto hago la prueba te lo comunico.
Saludois desde Panama.
Espero puedas solucionarlo, estoy para ayudar :)
Yo tampoco sé cómo se valoran las respuestas, pero a veces tengo 4 o 5 estrellitas [que ahora no veo :s] pero creo que viene un botón por aquí que permite "Finalizar" la pregunta, es decir que tu consulta ha terminado y estás satisfecho o no.
Saludos desde México. Juan Pablo E.P.
Muchas gracias Juan Pablo ese código que me diste es bueno solo le modifique unas lineas pero hay un problema. Bueno lo hice de dos formas una como me dijiste en un command button y la caja de texto pero solo con presionar el botón me salen todos los registros de la tabla que se llama pintura la tabla esta dentro de la base de datos que se llama empresa eta en access pero cuando busco por ejemplo MM100-5 que es el código de un articulo que se encuentra en la tabla pintura me salen todos los registros. Pero yo lo que quiero es que al introducir la letra M me muestre todos los regostros comiencen por m. Se que estoy pidiendo demasiado y disculpame pero no se como hacerlo.
Te envío el código que me enviate anteriormente para que le des una ojeada y me ayudes.
Saludos desde Panamá.
SQL = "SELECT * FROM pintura WHERE Codigo LIKE '%" & TxtCodigo & "'"
Dim Rst As New ADODB.Recordset
Dim Cnx As New ADODB.Connection
Dim RutaBD As String
Dim i As Integer
'especifica la ubicacion de tu BD
RutaBD = App.Path & "f:\empresa.mdb"
'conectar a la bd en la ruta especificada
Cnx.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " & "f:\empresa.mdb"
'escribir la sentencia SQL que encuentra un elemento escrito en _
un TextBox llamado TxtCodigo
SQL = "SELECT * FROM pintura WHERE Codigo LIKE '%" & TextCodigo & "'"
'abre el Recordset con la instruccion SQL y la ruta de la BD dadas
Rst.Open SQL, Cnx, adOpenStatic, adLockPessimistic
'si encontró registros coincidentes con el texto escrito en TxtCodigo
If Rst.RecordCount Then
'hacer un ciclo que permita recuperar todos los _
registros encontrados
For i = 1 To Rst.RecordCount
'agregar un nuevo elemento (fila) al MSFlexGrid1
MSFlexGrid1.AddItem Rst!codigo & empresa & Rst!codigobarra & empresa & Rst!descripcion
'mover el Recorset al siguiente registro
Rst.MoveNext
Next i
End If
Añade un comentario a esta respuesta
Añade tu respuesta
Haz clic para o
Escribe tu mensaje

Más respuestas relacionadas

¿No es la pregunta que estabas buscando?
Puedes explorar otras preguntas del tema Visual Basic o hacer tu propia pregunta: