Visual Basic - Numero de registro incorrecto

Life is soft - evento anual de software empresarial
   
Vista:

Numero de registro incorrecto

Publicado por ines (6 intervenciones) el 23/09/2008 18:19:21
intento hacer un programa y al buscar los datos me dice que el numero de
registro es incorrecto.

Dim cod As String
Dim pos As Integer

cod = InputBox(" Introduce el número de registro")
pos = buscarelmotor(cod)
Open "eso.dat" For Random As #1 Len = Len(mmotor)
Get #1, pos, mmotor
Close #1

Sabeis decirme que pasa.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Numero de registro incorrecto

Publicado por pepo (5 intervenciones) el 23/09/2008 18:32:12
Yo lo sé y esta vez tampoco pienso decírtelo.

Me fastidia la gente que no se molesta en dar una respuesta cuando les respondes.

chauchau
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Numero de registro incorrecto

Publicado por ines (6 intervenciones) el 23/09/2008 22:47:19
si te fijaste en el foro, verás que a ti te contesté.
Ya no contaba contigo pa na
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Numero de registro incorrecto

Publicado por igor (633 intervenciones) el 23/09/2008 21:31:47
Creo que marchand ya te contestó esto:

Comprueba que la variable 'pos' contenga un valor entre 1 y Len(mmotor).

Sería de agradecer más indicaciones.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Numero de registro incorrecto

Publicado por ines (6 intervenciones) el 23/09/2008 22:45:53
si me contestó pero pos me da un valor 0 y no se por qué .
Gracias de antemano
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Otra vez

Publicado por Carlos (125 intervenciones) el 23/09/2008 23:56:53
Pues si tú no lo sabes, tampoco lo vamos a saber nosotros, porque el problema es que tu variable "pos" tiene un valor de CERO, y ese valor es lo que le retorna tu función "buscarelmotor( )", así que revisa por ahí.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Otra vez

Publicado por marchand (59 intervenciones) el 24/09/2008 09:31:06
Deberías poner el código de la función buscarelmotor()

De todas formas fíjate que le estás pasando un String y quieres que te devuelva un Integer.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:siento ser pesada

Publicado por ines (6 intervenciones) el 24/09/2008 10:49:50
Se que le estoy pasando un string y quiero que me devuelva un integer, el problema es que no se que poner para que lo acepte.
La función es esta:

Public Function buscarelmotor(nr As String) As String
Dim i, NREG As Integer
Dim pos As Integer
Open "eso.dat" For Random As #1 Len = Len(mmotor)
NREG = LOF(1) Len(mmotor)
For i = 1 To NREG
Get #1, i, mmotor
If mmotor.nr = nr Then
pos = i
Exit For
End If
Next i
Close #1

buscarelmotor = pos
End Function

gracias a los dos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:siento ser pesada

Publicado por marchand (59 intervenciones) el 24/09/2008 15:26:11
quieres que te devuelva un integer, pero esa función devuelve un string.

creo que no tienes muy claro lo que quieres.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:siento ser pesada

Publicado por ines (6 intervenciones) el 24/09/2008 16:47:32
si tengo claro lo que quiero .Quiero buscar unos datos partiendo de un string, puesto que la variable combina numeros y letras. El problema es que no se hacer la funcion de otra manera. Eso nos pasa a los que no tenemos idea del visual y pretendemos comer mas de lo que entra.
Gracias de todas formas por intentarlo, el problema es mio.
Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

Debe ser Integer tu función

Publicado por Carlos (1 intervención) el 24/09/2008 16:45:56
A ver si es así (Integer en vez de String):

Public Function buscarelmotor(nr As String) As Integer
Dim i, NREG As Integer
Dim pos As Integer

Open "eso.dat" For Random As #1 Len = Len(mmotor)
NREG = LOF(1)// Len(mmotor) ' Una sola diagonal, pero aquí se borran
For i = 1 To NREG
Get #1, i, mmotor
If mmotor.nr = nr Then
pos = i
Exit For
End If
Next i
Close #1
buscarelmotor = pos
End Function

De lo que no estoy seguro es si el parámetro nr debe ser del tipo String, y tampoco sé como viene en tu tipo mmotor, por eso así lo dejo, pero la función debe retornar un Integer, no String
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:siento ser pesada

Publicado por igor (633 intervenciones) el 24/09/2008 20:32:10
Ya te indican que la función se define como:

Public Function buscarelmotor(nr As String) As String

Cuando quieres que sea

Public Function buscarelmotor(nr As String) As Integer

Seguro que no es este el error que estás buscando y segúro que no es el único error.

No es que tengamos más razón que tú, simplemente sabemos más. Es mejor no molestarse, sobre todo si se desconocen tantas cosas. Si participas en el foro así lo único que sacarás son broncas.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:siento ser pesada

Publicado por ines (6 intervenciones) el 25/09/2008 19:59:08
Nunca he dicho que tengais mas razón que yo, todo lo contrario reconozco que sabeis mas. Nunca lo dudé. Si te refieres a que no me moleste en intentarlo, te equivocas lo seguiré haciendo aunque sea sola, si era por vosotros, pues de acuerdo no obligo a nadie a que conteste. Siempre dije que era una aficionada.
Si me llevo broncas pues vale no lo esperaba pero acepto las críticas.
De todas formas gracias por las respuestas me han ayudado mucho.
Saludos a todos.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar