powered by simpleCommunicator - 2.0.54     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DataReport проблема
25 сообщений из 31, страница 1 из 2
DataReport проблема
    #37381489
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет ребята!
Есть БД. В ней 5 записей. Есть DataReport (связка через DataEnvironment). При показе DataReport все 5 записей выводятся на лист. Хочу выводить только ту запись на которой в данный момент моя каретка. Использую DataGrid. Как вывести на DataReport именно ту запись, которая в данный момент активна в гриде?
Заранее благодарен!
...
Рейтинг: 0 / 0
DataReport проблема
    #37381533
Фотография BelowZero
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubek,

погоди, ща они придут, помогут) просто все PRO просыпаются только в 1-2 ночи. ты рано написАл
...
Рейтинг: 0 / 0
DataReport проблема
    #37381536
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BelowZerobubek,

погоди, ща они придут, помогут) просто все PRO просыпаются только в 1-2 ночи. ты рано написАл


по-моему, ты уже откровенно хочешь в баню....
...
Рейтинг: 0 / 0
DataReport проблема
    #37381540
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
на такой общий вопрос - только общий ответ - использовать фильтр по ключевому полю, соответствующей текущей записи в источнике данных для DataGrid

Самое простое - сделай тестовый проект и выложи
...
Рейтинг: 0 / 0
DataReport проблема
    #37381664
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Создал команду в DataEnvironment типа:

Select * from MAINBASE where cardno = '444'
При DataReport.show он выводит на печать именно эту запись (запись с номером карточки 444).

Вопрос:
Нельзя ли сделать SQL запрос типа:

Select * from MAINBASE where name = Adodc1.recordset("name") , тоесть дать понять приложению, что в данный момент выбрана запись такая то в DataGrid и выводи на печать именно её.

Спасибо!

P.S. С выставлением тестового проекта есть трудность. БД в ADS.
...
Рейтинг: 0 / 0
DataReport проблема
    #37381713
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bubekНельзя ли сделать SQL запрос типа:
Select * from MAINBASE where name = Adodc1.recordset("name")
Ну да, что-то типа и надо сделать. Вот так разве не получается?
...
Рейтинг: 0 / 0
DataReport проблема
    #37381817
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.ProbubekНельзя ли сделать SQL запрос типа:
Select * from MAINBASE where name = Adodc1.recordset("name")
Ну да, что-то типа и надо сделать. Вот так разве не получается?

Прописываю Select * from MAINBASE where name = Adodc1.recordset("name"), делаю применить и получаю следующее сообщение:

To retrieve field information for this Command, the Command must be executed. You may need to specify input parameter values in the Parameters tab before the command is executed. Execution may add to or modify data in the database. Execute command?

Далее запускаю проект, нажимаю на Показать отчет и получаю ошибку:

Failed getting Rowset(s) from current data source

Что может быть?
...
Рейтинг: 0 / 0
DataReport проблема
    #37381843
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
стоп-стоп
где прописываешь?
надо в коде, а не в DataEnvironment

ЗЫ: и кавычки для текстового поля не забудь
...
Рейтинг: 0 / 0
DataReport проблема
    #37381878
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Proнадо в коде, а не в DataEnvironment

Private Sub cmdShowReport_Click()

DataEnvironment ????? - в коде что писать?

DataReport.Show
End Sub
...
Рейтинг: 0 / 0
DataReport проблема
    #37381949
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том-то и дело, что я никогда не работал с DataEnvironment, поэтому и попросил тестовый код.

я обычно делаю что-то типа :
Код: plaintext
1.
Set DataReport.DataSource=Conn.Execute("select ... from .... where")
DataReport.Show
...
Рейтинг: 0 / 0
DataReport проблема
    #37381997
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Мммм...вроде понятно. А описание Conn. можешь дать своего кода?
Ну типа Dim conn as new Connection ... или как там у тебя идет?

Спасибо!
...
Рейтинг: 0 / 0
DataReport проблема
    #37382007
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну коннекшн у тебя уже есть в АДОДЦ

то есть что-то типа будет:
Код: plaintext
1.
Set DataReport.DataSource=Adodc1.Recordset.ActiveConnection.Execute("select ... from .... where")
DataReport.Show
...
Рейтинг: 0 / 0
DataReport проблема
    #37382058
bubek
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Shocker.Pro,

Сделал следующее:

Private Sub cmdShowReport_Click()
Set DR.DataSource = Adodc1.Recordset.ActiveConnection.Execute("select * from MAINBASE")
DR.Show
End Sub

Получил ошибку:

Аргументы имеют неверный тип, выходят за пределы допустимого диапазона или вступают в конфликт друг с другом.
...
Рейтинг: 0 / 0
DataReport проблема
    #37382116
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну вот сложно так, без образца... по идее должно работать, надо пробовать отлаживать эту составную строку по частям
...
Рейтинг: 0 / 0
DataReport проблема
    #37382144
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А как задается источник данных для ADODC? Тоже через DataEnvironment?
...
Рейтинг: 0 / 0
DataReport проблема
    #37382539
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по идеи, у адодиси должно быть свойство - рекордсорс, или датасорс куда можно вставить скюэль запрос с нужным вам условием, либо возможно есть свойство фильтр, которое вообще упрощает задачу автора
...
Рейтинг: 0 / 0
DataReport проблема
    #37382548
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот только не пойму, зачем вообще работать через адодиси, работайте через рекордсеты и будет вам счастье
...
Рейтинг: 0 / 0
DataReport проблема
    #37382557
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ADODC удобен для работы с датагридом, особенно если используется в видимом режиме, то есть как интерфейс пользователя.

Но вот работать с DataEnvironment смысла скорее всего нет.
...
Рейтинг: 0 / 0
DataReport проблема
    #37382594
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я бы сделал так:
На открытие отчета-
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
Dim rs As New ADODB.Recordset
If rs.State =  1  Then
rs.Close
End If

rs.CursorLocation = adUseClient
rs.CursorType = adOpenDynamic
rs.LockType = adLockOptimistic
SQL = "SELECT * " & _
"FROM Моя_таблица "

rs.Open SQL, conn

ValId= 1  
rs.Filter= "[ключевое_поле]=" & ValId 
Set DataReport.DataSource=rs
DataReport.Show

Что бы все работало нужно убедится что подключена библиотека:
Microsoft ActiveX Data Object Recordset 2.8 Library
(Проект->ссылки
...
Рейтинг: 0 / 0
DataReport проблема
    #37382622
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала автор не знает где взять объект Connection, так как сконструировал его (как я понял) с помощью DataEnvironment
...
Рейтинг: 0 / 0
DataReport проблема
    #37382657
TpaBka
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shocker.ProДля начала автор не знает где взять объект Connection, так как сконструировал его (как я понял) с помощью DataEnvironment
Эх!
Ну тогда в модуле:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Public conn As New ADODB.Connection

Function SetConnection()
Dim ConnString, SourceBase As String
SourceBase = "Здесь путь к базе"
ConnString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & SourceBase & ";Persist Security Info=False" 'Этот провайдер для 2003 Access и ниже
conn.Open ConnString
End Function 
...
Рейтинг: 0 / 0
DataReport проблема
    #37382741
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TpaBka
Код: plaintext
Microsoft.Jet.OLEDB. 4 . 0 

bubekP.S. С выставлением тестового проекта есть трудность. БД в ADS.
...
Рейтинг: 0 / 0
DataReport проблема
    #37382745
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Shocker.Pro
> БД в ADS.


Еще с утра хотел спросить что это значит?

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
DataReport проблема
    #37382751
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь Горбонос> БД в ADS.
Еще с утра хотел спросить что это значит?

Не знаю , но вряд ли в MDB, раз автор не может ее приложить
...
Рейтинг: 0 / 0
DataReport проблема
    #37382837
Фотография Игорь Горбонос
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
> Автор: Shocker.Pro
> Не знаю , но вряд ли в MDB, раз автор не может ее приложить


Только для примера, можно было сделать и в mdb

Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
25 сообщений из 31, страница 1 из 2
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / DataReport проблема
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]