Rodrigo Alex Rodriguez Ответов: 2

Ищите людей, которые пропали без вести, определяясь по диапазону дат и по типу человека C# и access


OleDbConnection connection = MSAConnection.getConnection();
OleDbDataAdapter adapter = new OleDbDataAdapter();

string query = @"SELECT * FROM Persona
            WHERE NOT EXISTS
            (SELECT * FROM MarcacionesAsistencia
            WHERE (MarcacionesAsistencia.codPersona = Persona.codPersona)

            AND (MarcacionesAsistencia.tipoPersona = @tipo ))
            AND(MarcacionesAsistencia.fecha >= @desde)
            AND(MarcacionesAsistencia.fecha <= @hasta);";

OleDbCommand command = new OleDbCommand(query, connection);

command.Parameters.AddWithValue("@tipo", "Docente");
command.Parameters.AddWithValue("@desde", dateTimePickerDesde.Value);
command.Parameters.AddWithValue("@hasta", dateTimePickerHasta.Value);

adapter.SelectCommand = command;

DataSetReporteFalta falta = new DataSetReporteFalta();
falta.Clear();

adapter.Fill(falta, "DTReporteFalta");
dataGridView1.DataSource = falta;
dataGridView1.DataMember = "DTReporteFalta";


Что я уже пробовал:

AND (MarcacionesAsistencia.tipoPersona Like @tipo ))
AND(MarcacionesAsistencia.fecha >= @desde)
AND(MarcacionesAsistencia.fecha <= @hasta);";

j snooze

что происходит, что вы не получаете то, что хотите? Все, что я вижу, это то, что ты описываешь, что ты хочешь сделать. Никаких проблем, ошибок или проблем не было заявлено.

Rodrigo Alex Rodriguez

У меня есть школа, когда приходят ученики, учителя и директор регистрируются (с кодом, именем, датой).
Проблема в том, что я не могу найти способ сгенерировать отчет студентов, преподавателей, которые не прибыли, используя диапазон дат.

Rodrigo Alex Rodriguez

чтобы запрос не выбрасывал никаких данных

2 Ответов

Рейтинг:
13

radha patil

привет попробуй это
selct * от человека(выберите * от пользователя, где человек=@и право доступа=@доступа и дата между С и к)


Rodrigo Alex Rodriguez

Полностью перестрою свой метод.
Решение моего вопроса таково
"выберите P.codPersona, стр. tipoPersona, стр. nombreCompleto, стр. Градо, стр. знаменитые памятники от Persona P, где не существует(выберите Ма.codPersona от MarcacionesAsistencia Ма, где Ма.codPersona = стр. codPersona и Ма.феча = # " + дату + " #)"

Рейтинг:
0

Rodrigo Alex Rodriguez

Это мое решение
Надеюсь вы им поможете



private void getFaltas()
        {


            string dateString = dateTimePickerFalta.Value.ToString("yyyy/MM/dd");

            adapter.SelectCommand = new OleDbCommand
                    ("select p.codPersona, p.tipoPersona, p.nombreCompleto, p.grado, p.paralelo from Persona p where not exists(select ma.codPersona from MarcacionesAsistencia ma where ma.codPersona = p.codPersona and ma.fecha = # " + dateString + " #)", connection);

            dataset.Clear();

            adapter.Fill(dataset, "DTFaltas");
            dataGridView1.DataSource = dataset;
            dataGridView1.DataMember = "DTFaltas";
            dataGridView1.Refresh();

            reportViewerFaltas.Clear();
            reportViewerFaltas.RefreshReport();

        }