usar unir txt tablas tabla leer importar exportar desde datos consultas concatenar con como archivo sql ms-access access-vba

sql - txt - unir dos tablas en access



Usando VBA para exportar todas las consultas de MS Access SQL a archivos de texto (4)

  1. En la ventana de VB, haga clic en Tools->References....
  2. En la ventana Referencias, agregue la dependencia Microsoft Scripting Runtime marcándola.

Entonces este código exportará las consultas a un archivo adecuado para usar grep en:

Sub ExportQueries() Dim fso As New FileSystemObject Dim stream As TextStream Set stream = fso.CreateTextFile("e:/temp/queries.txt") Dim db As DAO.Database Dim qdf As DAO.QueryDef Set db = CurrentDb() For Each qdf In db.QueryDefs stream.writeline "Name: " & qdf.Name stream.writeline qdf.SQL stream.writeline "--------------------------" Next qdf Set qdf = Nothing Set db = Nothing End Sub

Tengo que documentar una base de datos de MS Access con muchas consultas de macros, etc. Deseo usar código para extraer cada consulta SQL a un archivo que tiene el mismo nombre que la consulta, por ejemplo, si una consulta se llama q_househouse_issues, entonces deseo extraer el SQL a un archivo llamado q_warehouse_issues.sql

NO DESEO EXPORTAR EL CONJUNTO DE RESULTADOS DE LA CONSULTA, ¡SÓLO EL SQL!

Sé que puedo hacerlo manualmente en Access, pero estoy cansado de todos los clics, hacer saveas, etc.


Espero que esto ayude.

Public Function query_print() Dim db As Database Dim qr As QueryDef Set db = CurrentDb For Each qr In db.QueryDefs TextOut (qr.Name) TextOut (qr.SQL) TextOut (String(100, "-")) Next End Function Public Sub TextOut(OutputString As String) Dim fh As Long fh = FreeFile Open "c:/File.txt" For Append As fh Print #fh, OutputString Close fh End Sub


Esta solución incluye campos en la consulta

Public Sub ListQueries() '' Author: Date: Contact: '' André Bernardes 09/09/2010 08:45 [email protected] http://al-bernardes.sites.uol.com.br/ '' Lista todas as queries da aplicação. '' Listening: Dim i As Integer Dim j As Integer Dim k As Integer Dim l As Integer On Error Resume Next For i = 0 To CurrentDb.QueryDefs.Count - 1 Debug.Print "Query: " & CurrentDb.QueryDefs(i).Name For j = 0 To CurrentDb.QueryDefs(i).Fields.Count - 1 Debug.Print "Field " & CurrentDb.QueryDefs(i).Fields(j).Name Next Debug.Print " SQL: " & CurrentDb.QueryDefs(i).SQL Next End Sub


Esto debería comenzar:

Dim db As DAO.Database Dim qdf As DAO.QueryDef Set db = CurrentDB() For Each qdf In db.QueryDefs Debug.Print qdf.SQL Next qdf Set qdf = Nothing Set db = Nothing

Puede usar el objeto del sistema de archivos o las funciones integradas de E / S del archivo VBA para escribir el SQL en un archivo. Supongo que estaba preguntando más sobre cómo obtener el SQL que sobre cómo escribir el archivo, pero si lo necesita, dígalo en un comentario y lo editaré (o alguien publicará su propia respuesta con instrucciones para eso).