using System.Data; using System.Data.OleDb; namespace Compliance { internal class Program { public const string CaminhoDB = "X:/Middle/Informativo Setorial/Modelo Word/BD1_dados cadastrais e faturas.accdb"; public static void Compliance(OleDbConnection conn, OleDbDataReader reader) { DataTable distribuidoras_PIS = GetDistribuidoras_PIS(conn, reader["Dados_TUSD.Distribuidora"].ToString()!, reader["Mes"].ToString()!); var test = distribuidoras_PIS.Rows.Count; } private static DataTable GetDistribuidoras_PIS(OleDbConnection conn, string distribuidora, string mes) { DataTable dados_ = new(); string sqlQuery = $"SELECT [Distribuidoras_geral].*, [Distribuidoras_PIS].* FROM [Distribuidoras_geral] INNER JOIN [Distribuidoras_PIS] ON [Distribuidoras_geral].ID_dist = [Distribuidoras_PIS].ID_dist WHERE (([Distribuidoras_geral].Distribuidora) = @distribuidora AND ([Distribuidoras_PIS].Mes) = @mes)"; using (OleDbCommand cmd = new(sqlQuery, conn)) { cmd.Parameters.AddWithValue("@distribuidora", distribuidora); cmd.Parameters.AddWithValue("@mes", mes); using OleDbDataReader reader = cmd.ExecuteReader(); dados_.Load(reader); } return dados_; } static void Main() { // Abre a conexao com o banco de dados using OleDbConnection conn = new(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + CaminhoDB + ";Jet OLEDB:Database Password=gds21"); conn.Open(); string sqlQuery = @"SELECT Dados_cadastrais.*, Dados_TUSD.* FROM Dados_cadastrais INNER JOIN Dados_TUSD ON Dados_cadastrais.Cod_Smart_unidade = Dados_TUSD.Cod_Smart_unidade WHERE (((Dados_TUSD.Hora_compliance) Is Null)) ORDER BY Dados_cadastrais.Gestao, Dados_cadastrais.Cliente, Dados_cadastrais.Unidade, Dados_TUSD.Mes; "; using OleDbCommand cmd = new(sqlQuery, conn); using OleDbDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { Compliance(conn, reader); } } } }