Visual Basic para Aplicaciones - Otra para expertos

Life is soft - evento anual de software empresarial
 
Vista:

Otra para expertos

Publicado por Ramón (19 intervenciones) el 28/06/2001 20:20:18
Adjunto un trozo muy pequeño de código y ahora esplico el problema.
Tengo una base de datos, dentro de ella hay un registro de DIRECCION pero esa dirección lleva el numero del portal separado por una coma (,)quiero coger el campo para imprimirlo en un informe pero que solo me coja hasta la coma lo que hay despues de ella que no lo coja

Dim r As Recordset
Dim SQL As String

SQL = "Select * from Pisos
Set r = VarGlobal.Db.OpenRecordset(SQL, dbOpenSnapshot)

vale parece sencillo pero no tengo todavia la solución, gracias por vuestra ayuda.




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: leer solo hasta la coma

Publicado por Koki (2 intervenciones) el 29/06/2001 17:24:34
Hola Ramón,

El problema que tu planteas yo lo resuelvo con la siguiente función (seguro que hay otras manera y quizas más sencillas, pero como que funciona, no he buscado más). El parámetro pasado a la función es la dirección y devuelve el texto anterior a una coma.

Para pasar una dirección utiliza :

varDireccion = TruncarDireccion(r!direccion)

Se trata de leer el campo letra por letra y assignar la letra leida a una variable, en caso de encontrar una coma, dejamos de leer.

Private Function TruncarDireccion(strDir as String) As String
Dim b1 As Byte ' variable para bucle Do
Dim strDir2 As String ' variable para ir almacenando las letras

b1 = 1
Do
If Mid(strDir, b1, 1) <> "," Then
strDir2 = strDir2 & Mid(strDir, b1, 1)
Else
Exit Do
End If
b1 = b1 + 1
Loop

TruncarDireccion = strDir2

End Sub

Espero que te sirva, saludos desde Barcelona.
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: leer solo hasta la coma

Publicado por Ramón (19 intervenciones) el 29/06/2001 20:34:40
Gracias por tu ayuda pero la verdad no me indicas como utilizar el código que pones como solución dentro de la SQL que puse yo cuando expuse mi problema, para que modificando la misma realizara esa labor, no obstante te doy las gracias porque la intención ha sido buena y gracias a personas como tu los que no sabemos aprendemos.
Ya tengo la solución, me la dierón a traves de otro foro y es bastante sencilla lo que ocurre es que a veces las cosas simples no se ven.
La pongo a continuación por si alguien se encuentra con el mismo problema pues aqui esta la solución que funciona perfectamente.

SQL = "Select *,Mid(Direccion,1,InStr(1,Direccion,',')-1) As NuevaDireccion
from Pisos"

Sencillo verdad?
Un saludo y muchas gracias desde Valencia.
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