Array
(
)

Crystal reports Parâmetros Entre Datas

Ivanilson Almeida
   - 03 jun 2015

Ola Galera Estou com um problema como eu passo dois Parâmetros de data no crystal reports C#
ex: fazer uma Consulta entre as datas 01-05-2015 a 05-05-2015 teria como me ajudar Grato pela então.

Randrade
   - 03 jun 2015

Poste o código que você possui até o momento. E também a estrutura de suas tabelas.

Mas, vou deixar um exemplo para você:

#Código

private Customers GetData()
{
    string constr = @"Data Source=.\Sql2005;Initial Catalog=Northwind;Integrated Security = true";
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT * FROM usuario
												WHERE dtCadastro BETWEEN '2015/01/01' AND '2015/02/02'"))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (Customers dsCustomers = new Customers())
                {
                    sda.Fill(dsCustomers, "DataTable1");
                    return dsCustomers;
                }
            }
        }
    }
}


Neste exemplo eu utilizo a função BETWEEN, e a consulta retorna todos os usuários entre as duas datas. Basta você alterar as datas.

De quebra, este vídeo possui um exemplo claro de funcionamento do que você precisa. Porém, ele está em VB. Mas a lógica é a mesma.

Ivanilson Almeida
   - 08 jun 2015


Citação:
Poste o código que você possui até o momento. E também a estrutura de suas tabelas.

Mas, vou deixar um exemplo para você:

#Código

private Customers GetData()
{
    string constr = @"Data Source=.\Sql2005;Initial Catalog=Northwind;Integrated Security = true";
    using (SqlConnection con = new SqlConnection(constr))
    {
        using (SqlCommand cmd = new SqlCommand("SELECT * FROM usuario
												WHERE dtCadastro BETWEEN '2015/01/01' AND '2015/02/02'"))
        {
            using (SqlDataAdapter sda = new SqlDataAdapter())
            {
                cmd.Connection = con;
                sda.SelectCommand = cmd;
                using (Customers dsCustomers = new Customers())
                {
                    sda.Fill(dsCustomers, "DataTable1");
                    return dsCustomers;
                }
            }
        }
    }
}


Neste exemplo eu utilizo a função BETWEEN, e a consulta retorna todos os usuários entre as duas datas. Basta você alterar as datas.

De quebra, este vídeo possui um exemplo claro de funcionamento do que você precisa. Porém, ele está em VB. Mas a lógica é a mesma.

Boa tarde Randrade então mais como eu passo esse valores como Parâmetros

ReportDocument reportdocumento = new ReportDocument();

//reportdocumento.Load(@"C:\Users\nilson\Desktop\Inclusao\Inclusao\RELATORIO\relatorio_escala.rpt");
reportdocumento.Load(@"K:\RELATORIOS\descontos.rpt");
// reportdocumento.Load(@"\\SERVSAUDE\\Projetos\\RELATORIOS\\relatorio_servico.rpt");

reportdocumento.SetDatabaseLogon("ivanilson", "cpd#7210", "casaservidor.no-ip.biz", "Sistema ");

ParameterFieldDefinitions crparameterFieldDefinitions;
ParameterFieldDefinition crparameterFieldDefinition;
ParameterValues cdparametersValues = new ParameterValues();
ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue();

crParameterDiscreteValue.Value = ddlmes.Text;
Citação:
<<< aqui vai um no caso preciso passar Dois ex (txtdata1 e txtdata2)

crparameterFieldDefinitions = reportdocumento.DataDefinition.ParameterFields;
crparameterFieldDefinition = crparameterFieldDefinitions["mes"];
cdparametersValues = crparameterFieldDefinition.CurrentValues;

cdparametersValues.Clear();
cdparametersValues.Add(crParameterDiscreteValue);
crparameterFieldDefinition.ApplyCurrentValues(cdparametersValues);

crystalReportViewer1.ReportSource = reportdocumento;
crystalReportViewer1.Refresh();