Buenas Sres.
Busque y busque y solo encontre algo como esto :
Private Sub Command1_Click()
Dim nro As Integer
nro = Val(InputBox("Introduce el Nº"))
Data1.Recordset.FindFirst "Nº=" & nro
If Data1.Recordset.NoMatch Then
MsgBox "El Nº: " & nro & " No está en la Base de
Datos", vbExclamation, "Búsquedas de Nº"
End If
End Sub
Se puede buscar un registro de una tabla excel directamente del form q estoy trabajando sin nececidad de tener q usar "Val(InputBox("...."))"
Gracias
Hoal, ¿¿ estas trabajando en VBA ?? no entendi que estas usando,no sera Access ??
saludos.
vb6 y con una tabla en excel.
Quiero hacer algo así como cuando se introduce un nombre y contraseña y el programa los busca en una base de datos.
Tengo dos campos "Nº" y "Sección" y dos textbox. En un textbox escribir el nro. y q el otro muestre el registro asociado.
El código que escribí arriba sirve bien pero debo ingresar el nro. en un inputbox q aparece y es esto lo que quiero evitar.
Bueno el asunto es q quiero sumar los registros correspondientes a la sección de varios alambres y queria hacer la busqueda un poco más rapida.... La cosa es q cuando empecé a sumar secciones el resultado fue algo inesperado... y no se cual puede ser el error, Código :
Private Sub Command2_Click()
Dim S As Single 'Sección
Dim n As Single 'Nº Conductores
Dim ST As Single 'Sección Total
S = Text2.Text
n = Text3.Text
ST = S * n
Label4.Caption = ST + Val(Label4)
End Sub
Y el resultado en el Label tiene demsiados decimales y la suma no es la correcta, hay variaciones de un nuero y los decimales no son los q deverían.
Alguna ayudita plis
pone que valores le estas poniendo y que valor te da la suma, asi vemos que esta mal...
Son valores con cuatro decimales (aquí mm2)
AWG mm2
1 42,4000
2 33,6000
3 26,7000
4 21,2000
5 16,8000
6 13,3000
7 10,5000
8 8,3700
9 6,6300
......
y por ej al escojer solo el primer valor 42,4000 en el label sale 42,4000015258. Si a este le sumo el segundo 33,6000 deberia arrojar por lo menos 79,00000152 pero arroja 75,5999984741, etc. (como hago para mostrar el form aquí ,je)
No entiendo ... 42+33 = 75 .. más los decimales da "75,algo" ... como dices que debería de dar por lo menos 79? :o
Cita de: oscardiaz en 20 Septiembre 2009, 04:22 AM
El código que escribí arriba sirve bien pero debo ingresar el nro. en un inputbox q aparece y es esto lo que quiero evitar.
No lo pongas en un input, pasalo como valor directamente
Saludos
Perdón dí vuelta el 6.. tienes razón... Bueno la cuestión es que el resultado no lo entrega con cuatro decimales y me entrega 9 o 10 de estos siendo q yo le ingreso los numeros de la tabla q tienen solo 4.
Usé lo sgte. pero tampoco lo consigo:
Label4.Caption = Format((ST + Val(Label4)), "0,000")
Y por último... el sgte cod suma solo los enteros y no los decimales como decimal solo muestra el del nuevo numero sumado, ej 42,4000 + 33,6000 = 75,6000
Private Sub Command2_Click()
Dim S As Single 'Sección
Dim n As Integer 'Nº Conductores
Dim ST As Single 'Sección Total
Dim suma As Single
S = Text2.Text
n = Text3.Text
ST = S * n
suma = Val(Label4.Caption)
Label4.Caption = ST + suma
End Sub
:huh: :-\ >:( :-(
No uses val, pierdes los decimales ....
Ej:
Msgbox val(5,12345)
En su lugar utiliza cdbl para tomar números decimales
Y sobre el format, no va con coma, va con punto
Ej:
Msgbox format("5,12345","0.000")
Saludos
Vale gracias... ok lo del format pero al usar CDbl me sale error "13 Type mismatch" y no se que es
En que parte te sale? no debería de date ningún error :-\
Saludos
En :
suma = CDbl(Label4.Caption)
que valor hay en el label4 ?? debe haber un valor que no es numero para que tire ese error...
En Label4 se muestra la suma de un valor encontrado mas un valor q se estaba mostrando previamemente en el mismo Label. Osea:
Inicio el form, todo en blanco, encuentro dato buscado, clik, Label4 muestra valor asociado al dato, sobre el mismo form busco nuevo dato y al hacer clik el mismo Label4 muestra la suma del nuevo valor más el valor anterior q estaba.
En resumen el código es como sigue:
Private Sub Command2_Click()
Dim S As Single 'Valor
Dim suma As Single 'Variable q guarda lo q se muestra en Label4
S = Text2.Text 'Valor encontrado
suma = CDbl(Label4.Caption) 'En la variable suma guardo lo que muestra el Label4
Label4.Caption = S + suma 'El Label4 muestra el valor encontrado mas lo q se estaba mostrando en este mismo Label4
End Sub
Entonces Label4 tiene un valor Single, los valores que sumo los saco de una tabla excel donde estan declarados como "Número" y tienen 4 cifras decimales.
Con suma = Val(Label4.Caption) se realiza la suma pero sólo de la parte entera y no la decimal.
Con suma = CDbl(Lablel4.Caption) arroja error
Saludos
Seguí una indicación q ví mucho en este foro y q es algo así como :
" Busca en goole y encontraras"
Sumado a mucha ayuda recibida de parte vuestra y logré lo que quería. Para un novato como yo esto es cool