пустые ячейки в DataGrid

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

пустые ячейки в DataGrid

Сообщение nat-z » 21.11.2006 (Вт) 11:24

Еще проблема у меня.
Имеется DataGrid, которая заполняется из таблицы файла mdb. В одной из колонок таблицы (символьная) почти все значения пустые. Выводится на экран нормально (пустая ячейка). Но когда я открываю такую строку в новой форме для корректировки:
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 = "" Then
Prov1.Text4 = "fff"
Else
Prov1.Text4 = frmGBPROV.grdDataGrid.Columns(4).Value '
End If
Prov1.Text5 = frmGBPROV.grdDataGrid.Columns(5).Value '

у меня выдает type mismatch (несовпадение типов). Почему? А по смыслу ячейки могут быть с пустыми значениями. И какой тип в ячейках и в блочках TEXT?? Пыталась сравнивать и с нулем и с пустой строкой - не проходит!

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.11.2006 (Вт) 11:56

Null нельзя присваивать String. Проверяй на IsNull.
Lasciate ogni speranza, voi ch'entrate.

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 21.11.2006 (Вт) 14:07

alibek писал(а):Null нельзя присваивать String. Проверяй на IsNull.

Спасибо добрый человек, что ответил. Вставила

If frmGBPROV.grdDataGrid.Columns(4).Value = IsNull Then
Prov1.Text4 = "fff"
Else
Prov1.Text4 = frmGBPROV.grdDataGrid.Columns(4).Value
End If

и получила: "argument not optional" на IsNull.
А как-то попроще можно?

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 21.11.2006 (Вт) 14:19

Код: Выделить всё
if IsNull(frmGBPROV.grdDataGrid.Columns(4).Value) then

p.s. IsNull - это функция

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 21.11.2006 (Вт) 14:35

shady писал(а):
Код: Выделить всё
if IsNull(frmGBPROV.grdDataGrid.Columns(4).Value) then

p.s. IsNull - это функция


А на это опять выдало "Type mismatch". Но колонка frmGBPROV.grdDataGrid.Columns(4) - текстовая (я уже писала!). Но при с равнении с пустой строкой ("") тоже несовпадение типов!!

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 21.11.2006 (Вт) 14:50

В гриде так нельзя проверять, извиняюсь. На IsNull надо проверять значение поля рекордсета...

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 21.11.2006 (Вт) 14:58

OMG...

Код: Выделить всё
If IsNull(frmGBPROV.grdDataGrid.Columns(4).Value) Then
  Text1.Text = vbNullString
Else
  Text1.Text = CStr(frmGBPROV.grdDataGrid.Columns(4).Value)
End If
Lasciate ogni speranza, voi ch'entrate.

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 21.11.2006 (Вт) 15:10

shady писал(а):В гриде так нельзя проверять, извиняюсь. На IsNull надо проверять значение поля рекордсета...

Т е надо при заполнении DataGrid из файла?
У меня сейчас стоит:

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"
frmGBPROV.Combo1.AddItem " Дата "
frmGBPROV.Combo1.ItemData(0) = 0
frmGBPROV.Combo1.AddItem " Дебет "
frmGBPROV.Combo1.ItemData(1) = 1

А как надо прописать??

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 23.11.2006 (Чт) 15:29

alibek писал(а):Null нельзя присваивать String. Проверяй на IsNull.

Все-таки возвращаюсь к своей проблеме.
при чтении в dataGrid из файла нулевые (для числовых) и пустые (для символьных) значения полей считываются нормально и в таблице тоже выглядят OK.
Но при попытке корректировке такой строки (в новой дочерней форме) для нулевых и пустых значений выдает type mismatch на строке типа
Код: Выделить всё
Prov1.Text5 = frmGBPROV.grdDataGrid.Columns(5).Value

на строках со значением этого не происходит.
И при вводе новой строки: нулевые значения вводятся, отображаются на экране, а потом при корректировке этой строки - та же ошибка. Почему?
Запись из DataGrid в дочернюю форму:

Код: Выделить всё
Private Sub Form_Load()
If GBmenu.Xreg0 = 1 Or GBmenu.Xreg0 = 3 Then  ' êîððåêòèðîâêà è êîïèðîâàíèå ïðîâîäêè
   Prov1.Text0 = frmGBPROV.grdDataGrid.Columns(0).Value
   Prov1.Text1 = frmGBPROV.grdDataGrid.Columns(1).Value
   Prov1.Text2 = frmGBPROV.grdDataGrid.Columns(2).Value
   Prov1.Text3 = frmGBPROV.grdDataGrid.Columns(3).Value  '
   ' 'If Len(frmGBPROV.grdDataGrid.Columns(4).Value) = 0 Then
   'If IsNull(frmGBPROV.grdDataGrid.Columns(4).Value) Then
   ''If frmGBPROV.grdDataGrid.Columns(4).Value = "" Then
   'Prov1.Text4 = "fff"
   'Else
   Prov1.Text4 = frmGBPROV.grdDataGrid.Columns(4).Value
   'End If
   Prov1.Text5 = frmGBPROV.grdDataGrid.Columns(5).Value
   Prov1.Text6 = frmGBPROV.grdDataGrid.Columns(6).Value
   Prov1.Text7 = frmGBPROV.grdDataGrid.Columns(7).Value
   Prov1.Text8 = frmGBPROV.grdDataGrid.Columns(8).Value
   Prov1.Text9 = frmGBPROV.grdDataGrid.Columns(9).Value
   Prov1.Text10 = frmGBPROV.grdDataGrid.Columns(10).Value
   Prov1.Text11 = frmGBPROV.grdDataGrid.Columns(11).Value
   Prov1.Text12 = frmGBPROV.grdDataGrid.Columns(12).Value
   Prov1.Text13 = frmGBPROV.grdDataGrid.Columns(13).Value
   Prov1.Text14 = frmGBPROV.grdDataGrid.Columns(14).Value
Else  ' íîâàÿ ïðîâîäêà
End If
End Sub

Запись из этой формы обратно в DataGrid:

Код: Выделить всё
Private Sub Command1_Click()
If GBmenu.Xreg0 = 2 Or GBmenu.Xreg0 = 3 Then  ' íîâàÿ ïðîâîäêà è êîïèðîâàíèå
frmGBPROV.datPrimaryRS.Recordset.AddNew
Else
End If
frmGBPROV.grdDataGrid.Columns(0).Value = Prov1.Text0
frmGBPROV.grdDataGrid.Columns(1).Value = Prov1.Text1
frmGBPROV.grdDataGrid.Columns(2).Value = Prov1.Text2
frmGBPROV.grdDataGrid.Columns(3).Value = Prov1.Text3
frmGBPROV.grdDataGrid.Columns(4).Value = Prov1.Text4
frmGBPROV.grdDataGrid.Columns(5).Value = Prov1.Text5
frmGBPROV.grdDataGrid.Columns(6).Value = Prov1.Text6
frmGBPROV.grdDataGrid.Columns(7).Value = Prov1.Text7
frmGBPROV.grdDataGrid.Columns(8).Value = Prov1.Text8
frmGBPROV.grdDataGrid.Columns(9).Value = Prov1.Text9
frmGBPROV.grdDataGrid.Columns(10).Value = Prov1.Text10
frmGBPROV.grdDataGrid.Columns(11).Value = Prov1.Text11
frmGBPROV.grdDataGrid.Columns(12).Value = Prov1.Text12
frmGBPROV.grdDataGrid.Columns(13).Value = Prov1.Text13
frmGBPROV.grdDataGrid.Columns(14).Value = Prov1.Text14
'frmGBPROV.datPrimaryRS.Refresh
Unload Prov1
End Sub

Я приношу извинения админу чтобы опять не ругался - это у меня только до выходных,потом я не буду!!

Antonariy
Повелитель Internet Explorer
Повелитель Internet Explorer
Аватара пользователя
 
Сообщения: 4824
Зарегистрирован: 28.04.2005 (Чт) 14:33
Откуда: Мимо проходил

Сообщение Antonariy » 23.11.2006 (Чт) 16:24

Может перед тем, как начинать программировать, прочитать какую-нибудь книжку? У вас отсутствуют элементарные понятия о языке, его синтаксисе, возможностях среды разработки, о программировании в принципе. Где-то на форуме несколько раз выкладывался файл vb_tutor_rus.rar, советую начать с него.
Лучший способ понять что-то самому — объяснить это другому.

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 23.11.2006 (Чт) 16:33

Скачать можно отсюда

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 23.11.2006 (Чт) 16:36

Antonariy писал(а):Может перед тем, как начинать программировать, прочитать какую-нибудь книжку? У вас отсутствуют элементарные понятия о языке, его синтаксисе, возможностях среды разработки, о программировании в принципе. Где-то на форуме несколько раз выкладывался файл vb_tutor_rus.rar, советую начать с него.

Я уже писала где-то рядом, что за книжкой я на выходные поеду!!
А вообще-то я не программист, а кассир, программистыунасв интернет программируют!!

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 23.11.2006 (Чт) 16:42

я не программист, а кассир, программистыунасв интернет программируют!!

Рулез!

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 23.11.2006 (Чт) 16:47

shady писал(а):Скачать можно отсюда

Спасибо я посмотрю если там немного

August
Бывалый
Бывалый
 
Сообщения: 209
Зарегистрирован: 25.08.2006 (Пт) 10:48
Откуда: C сибири

Сообщение August » 23.11.2006 (Чт) 16:52

nat-z
Вот Вам ссылка, качайте, читайте...
http://pithouse.vipik.ru/file/253/1079/vb_tutor_rus.chm

shady

А я рад, что человеку программирование интересно...ты давно кассиров видел которые программировать пытаются, да и еще с SQL работать??? я впервые вижу :D

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 24.11.2006 (Пт) 0:44

nat-z писал(а):
shady писал(а):Скачать можно отсюда

Спасибо я посмотрю если там немного


А по DataGrid и моему вопросу там ничего нет!!!

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 24.11.2006 (Пт) 1:00

August писал(а):nat-z
Вот Вам ссылка, качайте, читайте...
http://pithouse.vipik.ru/file/253/1079/vb_tutor_rus.chm

shady

А я рад, что человеку программирование интересно...ты давно кассиров видел которые программировать пытаются, да и еще с SQL работать??? я впервые вижу :D


Смешно?
А я уже жалею, что не пискаль какой-нибудь взяла!
Просто это у нас единственная компашка с транслятором была откуда-то!
Вот в выходные поеду - какая книжка первая попадется, на том и писать буду!
А лучше бы не смеяться а помочь!
Мне 3-4 модуля бы от кого-то написать, а все остальноек я по аналогии соображу!
Я 2 года сопровождала программу без книги, инструкций и автора на Clipper, даже clipper изучила и доп программы писала! Только по тем отд файлам 10-летн давности, что от авторов остались!
А программисты типа вас только созерцанием занимались и про методы структурного программирования трындели!!!

FaKk2
El rebelde gurú
El rebelde gurú
Аватара пользователя
 
Сообщения: 2031
Зарегистрирован: 09.03.2003 (Вс) 22:10
Откуда: Los Angeles

Сообщение FaKk2 » 24.11.2006 (Пт) 1:10

nat-z
Да как тебе помочь если ты элементарных вещей не знаешь.

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 24.11.2006 (Пт) 8:01

August писал(а):shady

А я рад, что человеку программирование интересно...ты давно кассиров видел которые программировать пытаются, да и еще с SQL работать??? я впервые вижу :D


Незнаю, как насчет интересно, но думаю что это по принуждению. Мне так например пришлось осваивать FoxPro

[quote'"nat-z"]А по DataGrid и моему вопросу там ничего нет!!![/quote]
это я к тому что
Antonariy писал(а):Может перед тем, как начинать программировать, прочитать какую-нибудь книжку? У вас отсутствуют элементарные понятия о языке, его синтаксисе, возможностях среды разработки, о программировании в принципе. Где-то на форуме несколько раз выкладывался файл vb_tutor_rus.rar, советую начать с него.

nat-z
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 18.11.2006 (Сб) 19:58

Сообщение nat-z » 24.11.2006 (Пт) 13:43

shady писал(а): это я к тому что

Как сладко наверно выглядывать из-за чужих ног и флудить!
Особенно когда и книжки есть и еще и деньги за это платят - хоть программируй хоть нет!!!

Если куплю книжку - ни за что сюда больше не прийду!!!

shady
Постоялец
Постоялец
 
Сообщения: 461
Зарегистрирован: 09.11.2005 (Ср) 11:03

Сообщение shady » 24.11.2006 (Пт) 15:31

nat-z писал(а):
shady писал(а): это я к тому что

Как сладко наверно выглядывать из-за чужих ног и флудить!

Что-что, а флудить не коим образом не собирался, а пытался помочь адресом, откуда можно скачать и понять основное о чем собственно и говорил Antonariy
nat-z писал(а):Если куплю книжку - ни за что сюда больше не прийду!!!
ИМХО Личное дело каждого, ибо усилия участников данного топика были направлены не на "пинание под зад ногами" за пределы форума, а для начала изучить основы и затем начинать программировать.

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 24.11.2006 (Пт) 16:57

Тема себя явно исчерпала.
Lasciate ogni speranza, voi ch'entrate.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот, SemrushBot, Yandex-бот и гости: 115

    TopList  
cron