Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: Внимание! Конкурс!! Добавлено: 15.11.06 13:44  

Автор вопроса:  nat-z
Конкурс начинаю сегодня, на 4-й день изучения VB и продлится гарантированно не более чем до Нов Года (или выучу VB или меня расстреляют). Призы - возможны.
Конкурс - кто терпимее, дольше и доходчивее будет помогать мне в изучении VB.

Вопрос №1.
Разложила у себя на форме DataGriad (через VB DataForm Wizards)а теперь надо привязать к нему необходимфй файл (имя ипуть до того получаю в диалоге) и выборку. В параметрах DataGrid ничего не нашла, а по исходнику нашла:
       Connect = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\VisualBasic\GBmax.mdb;"
      OLEDBString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=C:\VisualBasic\GBmax.mdb;"
      RecordSource = "select DPD,D_N,K_N,SHF,SUM from GBPROV Order by DPD"
Попыталась на загрузку формы поставить:
Private Sub Form_Load()
grdDataGrid.Connect = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Pth0 & "\" & Xnamestat & ";"
grdDataGrid.OLEDBString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & Pth0 & "\" & Xnamestat & ";"
grdDataGrid.RecordSource = "select DPD,D_N,K_N,SHF,SUM from GBPROV, naim FROM RBPS Order by DPD"
End Sub

Не получилось! А как надо написать?

Ответить

  Ответы Всего ответов: 55  

Номер ответа: 1
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #1 Добавлено: 17.11.06 01:17
Попробуйте сходить в раздел форума "Работа с данными", и задать там этот вопрос. Возможно там есть люди которые не смотрят "Общий форум".


- И схожу на днях!
А пока немного прошла вперед. Сама. И еще непонятки.
И еще вопросы след тура конкурса (я ведь запоминаю - кто как отвечает, пока больше всего у меня самой очков!!):
1.
Указываю при загрузке формы:
Private Sub Form_Load()
datPrimaryRS.ConnectionString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & GBmenu.Pth0 & "\" & GBmenu.Xnamestat & ";"
' datPrimaryRS.OLEDBString = "PROVIDER=Microsoft.Jet.OLEDB.4.0;Data Source=" & GBmenu.Pth0 & "\" & GBmenu.Xnamestat & ";"
'datPrimaryRS.ConnectionString = "select * from GBPROV, naim FROM RBPS where gbprov.kkag=rbps.kkag and gbprov.gkag=rbps.gkag Order by DPD"
datPrimaryRS.Refresh
'frmGBPROV.Combo1.ItemData(0) = " aaoa"
'frmGBPROV.Combo1.ItemData(1) = " aaaao"
'frmGBPROV.Combo1.ItemData(2) = " e?aaeo"
End Sub
Файл берется по ранееопределенному пути и имени (GBmenu.Pth0,GBmenu.Xnamestat ), но перед этим программа дважды выдает сообщение, что файл, указанный в форме (шаблоне) не найден. Т е эту конструкцию надо вставлять не в Form_LOAD а куда?
И как пишется конструкция типа frmGBPROV.Combo1.ItemData(0) = " xxxxx" - определить значения для выбора в Combobox - и куда это вставляется?
2.
В DataGrid есть текстовое поле (пустое почти по всей колонке).
Когда при загрузке подчиненной формы загружаю это пустое поле:
Prov1.Text12 = frmGBPROV.grdDataGrid.Columns(4).Value ' Bd
Выдает что тип не определен. Если заранее в ACess заполню поле чем угодно - все OK. В чем дело?

Ответить

Номер ответа: 2
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #2 Добавлено: 17.11.06 11:29
И как пишется конструкция типа frmGBPROV.Combo1.ItemData(0) = " xxxxx" - определить значения для выбора в Combobox - и куда это вставляется?


Private Sub Form_Load()
For a = 0 To 19
Combo.AddItem a
Combo.ItemData(a) = a + 1
Next
Me.Show
For a = 0 To 19
Print "Item: " & Combo.List(a) & "   ItemData: " & Combo.ItemData(a)
Next
End Sub

?????????????????????

Ответить

Номер ответа: 3
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #3 Добавлено: 17.11.06 12:18
Private Sub Form_Load()
For a = 0 To 19
Combo.AddItem a
Combo.ItemData(a) = a + 1
Next
Me.Show
For a = 0 To 19
Print "Item: " & Combo.List(a) & " ItemData: " & Combo.ItemData(a)
Next
End Sub - неправильно! avdey: -1
Правильно будет:
frmGBPROV.Combo1.AddItem " Äàòà "
frmGBPROV.Combo1.ItemData(0) = 0
frmGBPROV.Combo1.AddItem " Äåáåò "
frmGBPROV.Combo1.ItemData(1) = 1
frmGBPROV.Combo1.AddItem " Êðåäèò"
frmGBPROV.Combo1.ItemData(2) = 2
Теперь вопрос сразу на будущее:
Есть файл с полями NNN и TTTEXT. Цифровые NNN - не по порядку, с пропусками (например, 3,17,23,111,231,...)
Можно заполнить NNN в Combo1.ItemData(0) а TTTEXT в Combo1.AddItem " &#196;&#224;&#242;&#224; " и как это сделать (и при этом надо еще НЕ выбирать поля с NNN <= 0.
У avdey есть возможность исправиться!

Ответить

Номер ответа: 4
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #4 Добавлено: 17.11.06 12:49
И еще. в DataGrid некоторые ячейки не определены (пустое текстовое поле в исх файле access).
Когда загружаю нов форму и в Form_load делаю типа
Prov1.Text0 = frmGBPROV.grdDataGrid.Columns
(0).Value
Prov1.Text3 = frmGBPROV.grdDataGrid.Columns(3).Value '
То на этих ячейках дает ошибку несовпадения типа.
Как правильно сделать:
'If Len(frmGBPROV.grdDataGrid.Columns(4).Value) = 0 Then
   'If frmGBPROV.grdDataGrid.Columns(4).Value = Null Then
   If frmGBPROV.grdDataGrid.Columns(4).Value = 0 Then
   Prov1.Text4 = "fff"
   Else
   Prov1.Text4 = frmGBPROV.grdDataGrid.Columns(4).Value '
   End If

Ответить

Номер ответа: 5
Автор ответа:
 avdey



ICQ: 219571279 

Вопросов: 34
Ответов: 486
 Профиль | | #5 Добавлено: 17.11.06 15:43
Есть файл с полями NNN и TTTEXT. Цифровые NNN - не по порядку, с пропусками (например, 3,17,23,111,231,...)
Можно заполнить NNN в Combo1.ItemData(0) а TTTEXT в Combo1.AddItem " &#196;&#224;&#242;&#224; " и как это сделать (и при этом надо еще НЕ выбирать поля с NNN <= 0.

ERROR: Мало входных параметров!

Если поле NNN соответствует TTTEXT, и если при пустом NNN пропускать TTTEXT, то:
If IsNumeric(NNN) Then
    frmGBPROV.Combo1.AddItem TTTEXT
    frmGBPROV.Combo1.ItemData(Index) = NNN
End If

Ответить

Номер ответа: 6
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #6 Добавлено: 18.11.06 20:07
Буду пробовать. Возможно - будут тза это зачетные очки.
А пока снова вопрос (моя непонятная проблема).
Работа с dbf. Создала Data1 dBASE III. При попытке запуска программы сразу выдает
 - Couldn’t find installable ISAM и все. Это у меня неполный Basic или неправильно установлен или чего-то надо указать в Components или References?? Есть мудрые – кто знает? А то в соседском форуме вообще молчат!!!

Ответить

Номер ответа: 7
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #7
Добавлено: 18.11.06 20:58
Работа с dbf. Создала Data1 dBASE III. При попытке запуска программы сразу выдает
 - Couldn’t find installable ISAM и все. Это у меня неполный Basic или неправильно установлен или чего-то надо указать в Components или References?? Есть мудрые – кто знает? А то в соседском форуме вообще молчат!!!
У меня тоже была такая проблема: мой пост здесь http://www.vbnet.ru/forum/show.aspx?id=114055 и там же ответ на твой вопрос, если что не понтно, спрашиавай ;)

Ответить

Номер ответа: 8
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #8
Добавлено: 18.11.06 20:59
Кстати когда искал свой старый пост набрел на ещё одно решение:
http://www.vbnet.ru/forum/show.aspx?id=48475

Ответить

Номер ответа: 9
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #9 Добавлено: 20.11.06 13:37
Это наверно как раз то самое!!!
У меня в Панель управления - Администрирование - Источники данных (ODBC) для dbf значится odbcjt32.dll

Запустила regsrv32 - мне выдало по российски:
odbcjt32.dll была загружена, но найти точку входа для DlRegisterServer не удалось!
Почему мне так не везет???!!! Что еще сделать?
Но все равно вам = +2 очка в зачет!!

Ответить

Номер ответа: 10
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #10
Добавлено: 20.11.06 20:44
Попробуй написать не в Form_load а в Form_activate

Ответить

Номер ответа: 11
Автор ответа:
 -АлександР-



Вопросов: 55
Ответов: 1008
 Web-сайт: sham.clan.su
 Профиль | | #11
Добавлено: 20.11.06 21:35
odbcjt32.dll была загружена, но найти точку входа для DlRegisterServer не удалось!

nat-s, ты не невезучая. ;)
Msexcl35.dll (Excel) Mstext35.dll (Text)
Msxbse35.dll (dBase) Msxbse35.dll (FoxPro)
Просто тебе надо регистрировать Msxbse35.dll. odbcjt32.dll - вообще не при чем.

P.S Ну как там мои шансы на победу ;)

Ответить

Номер ответа: 12
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #12 Добавлено: 20.11.06 22:51
P.S Ну как там мои шансы на победу ;) -
остались прежние т к я что-то не могу найти Msxbse35.dll

Ответить

Номер ответа: 13
Автор ответа:
 nat-z



Вопросов: 13
Ответов: 85
 Профиль | | #13 Добавлено: 20.11.06 22:55
Попробуй написать не в Form_load а в Form_activate

А чем они отличаются и для чего нужны? У меня же книжки до сих пор нет! На выходные поеду в город - посмотрю в магазине.
Наконец-то сообразила как здесь цитирование в ответах. Очень неудобно!!
А кстати в VB есть что-то как в HTML <totle>, чтобы при наведении курсора на кнопку или что другое открывалось облачко с текстом подсказки?

Ответить

Номер ответа: 14
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #14
Добавлено: 20.11.06 22:59
Напиши как ты прописываешь БД, в дизайнере или кодом, если кодом то в каком событии, и зачем нужен dBase

Ответить

Номер ответа: 15
Автор ответа:
 Shark



ICQ: 284036855 

Вопросов: 35
Ответов: 155
 Web-сайт: www.ma26.ru
 Профиль | | #15
Добавлено: 20.11.06 23:04
http://www.vbnet.ru/forum/show.aspx?id=75637
Как я думаю может не точно load срабатывает когда форма начинает загружатся и в этот момент не все компоненты работают правильно, а Activate когда форма уже загрузилась полностью, отобразилась на экране и ей передано управление.

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам