Publicado el Dejar un comentario

Exportar a texto .txt

Este es un ejemlo de cómo exportar a un archivo de texto.

Sub Main()
Dim rstClientes
Dim s

Set rstClientes = CreaRecordSet( _
"SELECT * FROM clients", Ambiente.Connection )

s = ""

If ExisteArchivo( "c:\clientes.txt" ) = True Then
If Question( "Desea eliminar el archivo", 2 ) = True Then
EliminaArchivo "c:\clientes.txt"
End If
End If

While Not rstClientes.EOF
s = Chr(34) & rstClientes("cliente") & Chr(34) & _
Chr(9) & Chr(34) & rstClientes("nombre") & Chr(34) & _
Chr(9) & Chr(34) & rstClientes("telefono") & Chr(34) & vbCrLf
OutLine "c:\clientes.txt", s
rstClientes.MoveNext
Wend

If Question( "Desea abrir el archivo", 1 ) = True Then
ShellRun Parent.hWnd, "Open", "c:\clientes.txt"
End If

End Sub

Este script puede ser de utilidad si quisiéramos ver un texto con los clientes o cualquier otro layout que se requiera para otros sistemas.

He utilizado para servicoos como facturación cfdi y para tiempo aire.
La función ExisteArchivo es genial porque lo único que escribimos como parámetro es la ruta de nuestro archivo de texto.

Lo importante es probar todas las posibilidades que existen para tener la información disponible para hacer lo que las reglas del negocio requiere.

Publicado el Dejar un comentario

Importar desde texto .txt

Este ejemplo muestra como importar un archivo txt


Sub Main()
Dim s, cliente, telefono, dondeEstaEltabulador
Dim Query, rstCliente

Set Query = NewQuery()
Set Query.Connection = Ambiente.Connection

CloseFile 1

OpenFile "c:\clientes.txt", 1

While Not FileEOF( 1 )

s = ReadLine( 1 )

dondeEstaEltabulador = clAt( Chr(9), s )
cliente = Mid( s, 1, dondeEstaElTabulador - 1 )
cliente = Replace( cliente, Chr(34), "" )

s = Mid( s, dondeEstaElTabulador + 1 )

dondeEstaEltabulador = clAt( Chr(9), s )
nombre = Mid( s, 1, dondeEstaElTabulador - 1 )
nombre = Replace( nombre, Chr(34), "" )

telefono = Mid( s, dondeEstaElTabulador + 1 )
telefono = Replace( telefono, Chr(34), "" )

Set rstCliente = Rst( _
"SELECT cliente FROM clients WHERE cliente = '" & cliente & "'", _
Ambiente.Connection )

Query.Reset

If rstCliente.EOF Then
Query.strState = "INSERT"
Else
Query.strState = "UPDATE"
Query.Condition = "cliente = '" & cliente & "'"
End If

' Tabla, campo, valor
Query.AddField "clients", "cliente", cliente
Query.AddField "clients", "nombre", nombre
Query.AddField "clients", "telefono", telefono
Query.CreateQuery
Query.Execute

Wend

CloseFile 1

End Sub

Esta función podría ser una opción para interconectar mybusiness pos con otras herramientas externas de una forma sencilla. Utilizo la importación para descifrar la respuesta de tiempo aire y funciona bastante bien.