vinculacion varias una tablas tabla otra informe importar generar exportar desde definicion datos copiar como ms-access ms-access-2007 access-vba ms-access-2010

ms-access - varias - generar word desde access



División y exportación de múltiples tablas desde MS Access (1)

El código a continuación lo hará. Creé un DB con la estructura a continuación. Muestra archivos CSV con nombres en el formato "{Franchise_Name} {Customers} .csv", por ejemplo, "Franchise A Customers.csv".

Su descripción parecía indicar que estaba guardando nombres de franquicia en la tabla de clientes, mientras que sería mejor tener una tabla separada que contenga los nombres de las franquicias y una clave externa en la tabla Clientes que hace referencia a la clave principal en las franquicias. mesa. Aún así, podría modificar este código para que funcione con su estructura implícita, pero igual tendría que crear una lista distinta de nombres de franquicia (es decir, su conjunto de registros sería Set Franchises = CurrentDb.OpenRecordset("SELECT DISTINCT Franchise FROM Customers") y modificaría mis referencias a FranchiseID para trabajar en su campo de franquicia.

Tabla de clientes

ID | Customer_Name | FranchiseID 1 | Customer 1 | 1 2 | Customer 2 | 2 3 | Customer 3 | 1 4 | Customer 4 | 2 5 | Customer 5 | 3

Tabla de franquicias

ID | Franchise_Name 1 | Franchise A 2 | Franchise B 3 | Franchise C

Código VBA

Option Compare Database Option Explicit Sub Export_Franchise_Customers() Dim Franchises As Recordset Dim FranchiseID As Integer Dim Franchise_Name As String Dim Base_SQL As String Dim QueryDefName As String Base_SQL = "SELECT * FROM Customers WHERE FranchiseID = " Set Franchises = CurrentDb.OpenRecordset("Franchises") Do While Not Franchises.EOF FranchiseID = Franchises("ID") Franchise_Name = Franchises("Franchise_Name") QueryDefName = "get_Franchise" & FranchiseID & "_Customers" CurrentDb.CreateQueryDef QueryDefName, Base_SQL & FranchiseID DoCmd.TransferText TransferType:=acExportDelim, TableName:=QueryDefName, FileName:=Franchise_Name & " Customers.csv", HasFieldNames:=True CurrentDb.QueryDefs.Delete QueryDefName Franchises.MoveNext Loop End Sub

Espero que haya una respuesta bastante fácil a esta pregunta. Quizás usando VB.

Tengo una tabla de acceso llamada ''clientes''. Cada cliente tiene un nombre de franquicia asignado en una columna llamada ''franquicia'' en esta tabla. Necesito proporcionar a todas las franquicias un archivo csv que contenga todos los clientes asignados en su franquicia de la tabla de clientes.

El camino sin fin sería una consulta individual para cada franquicia (seleccione * del cliente donde franquicia = ''Nueva York''), pero hay más de 50 nombres de franquicia diferentes. Y exportar cada una de las consultas, una por una, consumiría mucho tiempo.

¿Hay algún código vb para crear múltiples consultas o tablas basadas en el valor de un campo?

Gracias