SoloCodigo
Bases de Datos => Crystal Reports => Mensaje iniciado por: quick en Lunes 24 de Octubre de 2005, 19:52
-
Hola, soy Tadeo y tengo el siguiente problema estoy haciendo un programa que me maneja el numero de parte de unas refacciones, la consulta ya la tengo y lei en otra discucion de aqui como hacer la formula para que solo me mande a imprimir el numero de parte que yo seleccione en pantalla primero, pero no funciona me dice que la formula esta mal, aqui les pongo la forma en que yo hago mi consulta y como le digo que mande a impresion ese numero de parte
Private Sub Command7_Click()
'BUSQUEDA DE NUMERO DE PARTE
Data1.Recordset.MoveFirst
WRESP = "NO"
Command7.SetFocus
LLAVE5 = " "
LLAVE4 = " "
LLAVE5 = InputBox$("NUMERO DE PARTE A BUSCAR:", "B U S C A R P R E C I O")
LLAVE52 = LLAVE5
WLLAVE5 = Mid$(LLAVE5, 1, 10)
Call loco
If Data1.Recordset.NoMatch And LLAVE4 <> "" Then
Command7.SetFocus
End If
End Sub
Public Sub loco()
'LLAVE4 = "NUMERO_PARTE=" + "'" + LLAVE5 + "'"
'LLAVE4 = "NUMERO_PARTE Like " + "'*" + LLAVE5 + "*'" 'LINEA ORIGINAL
LLAVE4 = "NUMERO_PARTE Like " + "'" + LLAVE5 + "'" 'CAMBIO DE LINEA P/PRUEBAS
WLLAVE54 = LLAVE5
'Data1.Recordset.FindFirst LLAVE4
Data1.Recordset.FindFirst "NUMERO_PARTE LIKE '*" & LLAVE5 & "*'" 'LINEA ORIGINAL
If "NUMERO_PARTE" <> " " Then
If Not Data1.Recordset.NoMatch And LLAVE4 <> " " Then
WNUMERO_PARTE = Data1.Recordset.Fields("NUMERO_PARTE")
Text1 = Data1.Recordset.Fields("NUMERO_PARTE")
'CALCULO PARA PRECIO DE DISTRIBUIDOR
WPRECIO_DISTRIBUIDOR = Data1.Recordset.Fields("PRECIO_DISTRIBUIDOR")
WCAMBIO = CCur(WPRECIO_DISTRIBUIDOR)
WPD = Format(WCAMBIO, "$ ##,##0.00")
Text3 = WPD
'CALCULO PARA PRECIO DE LISTA
WPRECIO_LISTA = Data1.Recordset.Fields("PRECIO_LISTA")
WCAMBIO = CCur(WPRECIO_LISTA)
WPL = Format(WCAMBIO, "$ ##,##0.00")
Text4 = WPL
'CALCULO PARA PRECIO DE DISTRIBUIDOR MAS 5%
WPRECIO_LISTA1 = Data1.Recordset.Fields("PRECIO_LISTA1")
WCAMBIO = CCur(WPRECIO_LISTA1)
WPD1 = Format(WCAMBIO, "$ ##,##0.00")
Text5 = WPD1
'CALCULO PARA PRECIO DE LISTA MENOS 25%
WPRECIO_DISTRIBUIDOR1 = Data1.Recordset.Fields("PRECIO_DISTRIBUIDOR1")
WCAMBIO = CCur(WPRECIO_DISTRIBUIDOR1)
WPL1 = Format(WCAMBIO, "$ ##,##0.00")
Text6 = WPL1
'RUTINA PARA EVITAR ERROR EN LA DESCRIPCION POR NO TENER DATOS
CERO = "."
If Data1.Recordset.Fields("DESCRIPCION") <> " " Then
Text2 = Data1.Recordset.Fields("DESCRIPCION")
Else: Text2 = CERO
End If
End If
End If
'SI ENTRA AQUI QUIERE DECIR QUE NO LO ENCONTRO
If Data1.Recordset.NoMatch And LLAVE4 <> " " Then
Close All
MsgBox "NUMERO DE PARTE NO EXISTE", vbOKOnly, "ERROR"
Command7.SetFocus
End If
End Sub
Private Sub Command1_Click()
If Text1.Text <> "" And Text1.Text = WNUMERO_PARTE Then
CrystalReport1.ReportFileName = "d:\mopar\prueba.rpt" 'La ruta de tu informe
CrystalReport1.SelectionFormula = "{tabla1.numero_parte}>" & text1.tex & ""
'CrystalReport1.PrintReport
CrystalReport1.Action = 1
End If
End Sub
esta es la formula que yo utilice pero no me funciono, si hace la valuacion de los datos cuando los lee en la forma de consulta pero al mandar a imprimir me manda que la formula no es correcta, que tengo que hacer, pero que lo mande bien a impresion, si alguien puede ayudarme muchas gracias, bye
-
hola ! quizas el problema sea que en lugar de:
CrystalReport1.SelectionFormula = "{tabla1.numero_parte}>" & text1.tex & ""
te sugiero:
Private Sub Command1_Click()
If Text1.Text <> "" And Text1.Text = WNUMERO_PARTE Then
CrystalReport1.ReportFileName = "d:\mopar\prueba.rpt" 'La ruta de tu informe
CrystalReport1.RecordSelectionFormula = "{tabla1.numero_parte}>'" & text1.text & ""
'CrystalReport1.PrintReport
CrystalReport1.Action = 1
End If
End Sub
al parecer te faltaba una ' y agregar la palabra "Record" y tambien una letra "t" al final te text1.tex
suerte ! ;)
-
Hola, lao.torres, antes que nada quisiera saber si eres chica o chico para poder referirme mejor en lo que digo, ahora, ya hice la prueba con la opcion que me diste, pero no me acepta ponerle el record, tal vez sea porque yo uso v.b. 5, y si lo dejo como lo tenia pero agregandole las instrucciones que me dijiste, aun asi me manda el mismo error, error en la formula y cuando me voy a depurar me dice que el crystalreport1.action = 1 (valido solo para escritura) y no me despliega el reporte, mas sin embargo si le omito la formula, me deja correrlo sin problema pero me da todos los registros y eso no es lo que yo quiero, ojala me puedas dar otra respuesta o solucion , para mi problema gracias,. Tadeo
-
Hola, soy Laura y no se que pueda ser porque yo no he usado el VB5, pero quizas se me ocurre que revises tu base de datos, quizas este el archivo como solo de lectura. Yo uso Acces para bases de datos y me ha pasado que por algun motivo, el archivo se convierte en solo de lectura y no me deja hacerle nada y me salen solo errores, quizas podrias ver eso.
... y si mejor migraras a Vb6?
:hola: