Модераторы: Akina

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вопрос про базы данных, ? 
:(
    Опции темы
ArtNeoX
Дата 26.12.2005, 21:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



На форме создана DataGrid для отображения содержимого отчета по столбцам и строкам.
Вот только ни как не пойму каким образом можно выделить содержимое всей таблицы и скопировать в буфер обмена.
И еще как можно экспортировать содержимое базы Microsoft Access с которой работает Visual Basic в Excel.
PM MAIL   Вверх
Flotskiy
Дата 27.12.2005, 07:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



ArtNeoX, привет!
Занимаюсь с БД Access. Выбираю данные с БД при помощи SQL- запросов, примерно:
Код

                sSqlString = "SELECT EksamList, Family, ОцМП, ОцМУ, ОцРус, (ОцМП+ОцРус) As Ball, Fak, FormaOb, PK " & _
                          "FROM Glavnaja, Eksamen " & VNoteB & " AND Glavnaja.GlavID=Eksamen.EksID " & _
                          "AND FormaOb='ОС' AND &Icirc;&ouml;&ETH;&oacute;&ntilde;<> Null " & _
                          "ORDER BY Fak, Family"

adoConnection.Open connectString
adoRecordset.CursorLocation = adUseClient
adoRecordset.Open sSqlString, adoConnection
lblSelekt.Caption = adoRecordset.RecordCount

    cmdExcel.Enabled = True

А этой кнопкой отправляю в Excel:
Код

Private Sub cmdExcel_Click()
On Error Resume Next
Dim iIndx As Integer
Dim iRowIndex As Integer
Dim iColIndex As Integer
Dim iRecordCount As Integer
Dim iFieldCount As Integer
Dim sMessage As String
Dim avRows As Variant
Dim excelVersion As Integer

'-- Read all of the records into our array
avRows = adoRecordset.GetRows()

'-- Determine how many fields and records
iRecordCount = UBound(avRows, 2) + 1
iFieldCount = UBound(avRows, 1) + 1

'-- Create reference variable for the spreadsheet
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = True
'On Error Resume Next
' в готовый файл
objExcel.Workbooks.Open (App.Path & "\Doc\PriemZO")

'-- We need this line to insure Excel remains visible if we switch
Set objTemp = objExcel

excelVersion = Val(objExcel.Application.Version)
If (excelVersion >= 8) Then
 Set objExcel = objExcel.ActiveSheet
End If

'-- Place the names of the fields as column headers --
iRowIndex = 1
iColIndex = 1
For iColIndex = 1 To iFieldCount
  With objExcel.Cells(iRowIndex, iColIndex)
     .Value = adoRecordset.Fields(iColIndex - 1).Name
     With .Font
       .Name = "Times New Roman"
       .Bold = True
       .Size = 12
     End With
  End With
Next

'-- memory management --
adoRecordset.Close
Set adoRecordset = Nothing

'-- Just add data --
With objExcel
  For iRowIndex = 2 To iRecordCount + 1
   For iColIndex = 1 To iFieldCount
    .Cells(iRowIndex, iColIndex).Value = avRows(iColIndex - 1, iRowIndex - 2)
   Next
  Next
End With

objExcel.Cells(1, 1).CurrentRegion.EntireColumn.AutoFit

End Sub



Это пример рабочий, если будут вопросы - отвечу, да и парни помогут.
С уважением

--------------------
FlotskiySk k
PM MAIL   Вверх
ArtNeoX
Дата 27.12.2005, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Как делать выборку из базы данных, например по фамилии или имени чтобы в DataGrid отображались только выбранные данные.
Да и есть толковая литература в сети по базам данных, что бы с нуля и далее...
PM MAIL   Вверх
cardinal
Дата 27.12.2005, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99





--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
Flotskiy
Дата 28.12.2005, 06:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



ArtNeoX, привет
В разделе "Ссылки на интересные сайты" посмотри ссылку на сайт "DMK". Очень много примеров работы с БД. С них я начинал.
С укажением
--------------------
FlotskiySk k
PM MAIL   Вверх
ArtNeoX
Дата 30.12.2005, 20:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Пытаюсь написать базу данных по статье http://www.vbnet.ru/articles/showarticle.aspx?id=178

"Для использования TrueDbGgrid нужно поставить соответствующую галочку в окне Components, которое вызывается нажатием правой кнопки мыши на панели TollBox. Также следует включить True Data Control Lite и Microsoft ADO Data Control."

но у меня в vb6 отсутствуют компоненты
ComponentOne True DataControl Lite 7.0
ComponentOne True DBGrid Pro 7.0 (OLEDB)
Microsoft ADO Data Control 6.0 (SP6) (OLEDB)
которые как я понял содержатся в файлах
c:\windows\system32\TDBG7.OCX
c:\windows\system32\TODBG7.OCX (OLE DB)
Где их можно скачать?
Бросьте кто нибудь на ящик
[email protected]


PM MAIL   Вверх
Exception
Дата 30.12.2005, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 4525
Регистрация: 26.12.2004

Репутация: 7
Всего: 186



Спроси у Voldemar2004, у него вродь были...
PM   Вверх
Voldemar2004
Дата 31.12.2005, 20:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(ArtNeoX @ 27.12.2005, 19:50)
Как делать выборку из базы данных, например по фамилии или имени чтобы в DataGrid отображались только выбранные данные.

Код

    Data1.RecordSource = "Select <поле1, ... , полеN> From <имя_таблицы_без расширения (mdb/dbf...)>"
    Data1.Refresh
    TDBGrid1.Refresh
Цитата(ArtNeoX @ 30.12.2005, 20:09)
Microsoft ADO Data Control 6.0 (SP6) (OLEDB)
которые как я понял содержатся в файлах
c:\windows\system32\TDBG7.OCX
c:\windows\system32\TODBG7.OCX (OLE DB)
Microsoft ADO Data Control 6.0 - это компонент msadodc.ocx, а не
Цитата
c:\windows\system32\TDBG7.OCX
c:\windows\system32\TODBG7.OCX (OLE DB)


Цитата(ArtNeoX @ 30.12.2005, 20:09)
но у меня в vb6 отсутствуют компоненты
ComponentOne True DataControl Lite 7.0
По-моему это другие компонеты, которые не входят в состав стандартного пакета TDBgrid Pack. При установке они все видны в VB->Components... Советую ставить все в папку Windows, иначе могут возникнуть проблемы с регистрацией компонентов.


--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
ArtNeoX
Дата 6.1.2006, 13:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Помогите кто нибудь с написанием базы данных. smile
Я скину исходники. Программа готова вот только
1. нужно реализовать в программе выборку по условиям что бы это отображалось в DataGrid (Например отобразить всех с одной фамилией)
2. нужно реализовать в программе экспорт содержимого DataGrid в excel
3. как выделять содержимое DataGrid для копирования в буфер обмена.
кому не сложно помочь новичку, пишите [removed by moderator]
М
Akina
Еще одна просьба помогать в мыло - выкину тему в Центр помощи.


Это сообщение отредактировал(а) Akina - 6.1.2006, 13:10
PM MAIL   Вверх
ArtNeoX
Дата 7.1.2006, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



objExcel.Workbooks.Open (App.Path & "PriemZO")
это открывает файл в экселе
но ни чего туда не добавляется
например у меня 4 столбца и в них много строк
Код

With objExcel
  For iRowIndex = 2 To iRecordCount + 1
   For iColIndex = 1 To iFieldCount
    .Cells(iRowIndex, iColIndex).Value = avRows(iColIndex - 1, iRowIndex - 2)
   Next
  Next
End With
objExcel.Cells(1, 1).CurrentRegion.EntireColumn.AutoFit
End Sub

не помогает

Это сообщение отредактировал(а) cardinal - 7.1.2006, 16:49
PM MAIL   Вверх
cardinal
Дата 7.1.2006, 16:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



ArtNeoX, используй теги для кода!


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ArtNeoX
Дата 8.1.2006, 12:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Какие?
smile
PM MAIL   Вверх
Dunka
Дата 8.1.2006, 14:50 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











Подскажите пожайлуста как в коде записать текущую дату в поле таблицы, чтобы поле с датой заполнялось автоматически, без нажатия на MonthView?
  Вверх
cardinal
Дата 8.1.2006, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Инженер
****


Профиль
Группа: Экс. модератор
Сообщений: 6003
Регистрация: 26.3.2002
Где: Германия

Репутация: 19
Всего: 99



ArtNeoX, смотри кнопку "код" над сообщением!
Добавлено @ 15:24
Модератор: Пожалуйста, один топик - один вопрос.


--------------------
Немецкая оппозиция потребовала упростить натурализацию иммигрантов
В моем блоге: Разные истории из жизни в Германии

"Познание бесконечности требует бесконечного времени, а потому работай не работай - все едино".  А. и Б. Стругацкие
PM   Вверх
ArtNeoX
Дата 9.1.2006, 23:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Мне кто нибудь может внятно объяснить
как сделать фильтр в DataGrid чтобы в виде таблицы отражались только нужные данные, например в таблице в первом столбце много фамилий, мне же нужно чтобы были показаны строчки с фамилиями, например Ивнов
как вывести данные в DataGrid в алфавитном порядке по первому столбцу
как экспортировать содержимое DataGrid в excel

Неужели это такие сложные вопросы для вас програмистов?
PM MAIL   Вверх
ArtNeoX
Дата 10.1.2006, 03:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



Private Sub Command1_Click()
Dim iXLApp As Object
Set iXLApp = CreateObject("Excel.Application")
With iXLApp
With .Workbooks.Add(xlWBATWorksheet).Worksheets(1)
With .Range("A2")
.Value = ("ОК")
End With
.Visible = True
End With
End Sub

добавит в ексель в ячейку А2 слово ОК
А как сделать чтобы туда добавлялись данные из базы данных?
PM MAIL   Вверх
Flotskiy
Дата 10.1.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



ArtNeoX, привет! Посмотри небольшую прогупо БД.
Может , поможет.
С уважением

Это сообщение отредактировал(а) Flotskiy - 12.1.2006, 12:05

Присоединённый файл ( Кол-во скачиваний: 7 )
Присоединённый файл  Test.rar 72,94 Kb
--------------------
FlotskiySk k
PM MAIL   Вверх
Voldemar2004
Дата 10.1.2006, 18:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1650
Регистрация: 25.12.2004

Репутация: 7
Всего: 23



Цитата(cardinal @ 10.1.2006, 17:54 Найти цитируемый пост)

Да, я вроде не гость а тоже не фурычит...

Цитата(ArtNeoX @ 10.1.2006, 14:17 Найти цитируемый пост)

не качается
Я просто сделал: в Опере щелкаем правой кнопкой мыши по ссылке Test.rar 73,06 Kb сохраняем, удалим расширение php переименуем в rar. Читается без проблем. Там какие-то файлы Boss и Biblioteka. smile



--------------------
i_i 
(';') 
(V)

user posted image
PM MAIL   Вверх
Flotskiy
Дата 11.1.2006, 08:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 223
Регистрация: 15.11.2004
Где: г. Омск

Репутация: 1
Всего: 2



Добрый день всем! Это у меня была небольшая прога, я лишнее удалил, оставил небольшую БД и одну форму с DBGrid, пусть пробует, там есть почти все ответы но его ArtNeoX
вопросы.
С уважением
PS. Папку "Тест" надо установить на диске C:

Это сообщение отредактировал(а) Flotskiy - 11.1.2006, 08:51
--------------------
FlotskiySk k
PM MAIL   Вверх
ArtNeoX
Дата 11.1.2006, 14:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



НЕ КАЧАЕТСЯ !!!!
кинь на ящик.
PM MAIL   Вверх
ArtNeoX
Дата 12.1.2006, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 125
Регистрация: 23.10.2005

Репутация: нет
Всего: нет



В DataGreed по умолчанию 5 столбцов
что нужно дабавить к кнопке, что бы при ее нажатии в datagreed остались только 1 и 2 столбец, а остальные скрылись
При нажатии на кнопку второй раз все столбцы снова появились.
PM MAIL   Вверх
Страницы: (2) [Все] 1 2 
Ответ в темуСоздание новой темы Создание опроса
Правила форума "VB6"
Akina

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по VB обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • Используйте теги [code=vb][/code] для подсветки кода. Используйтe чекбокс "транслит" (возле кнопок кодов) если у Вас нет русских шрифтов.


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Akina.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | VB6 | Следующая тема »


 




[ Время генерации скрипта: 0.0607 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.