Форум программистов, компьютерный форум, киберфорум
Visual Basic .NET
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/7: Рейтинг темы: голосов - 7, средняя оценка - 4.71
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357

Как обратиться к значению поля в TableAdapter?

16.05.2013, 00:56. Показов 1392. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Как обратиться к значению поля в TableAdapter?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.05.2013, 00:56
Ответы с готовыми решениями:

Как прочитать и обратиться к данным в TableAdapter
Подскажите, пожалуйста, уже нет сил сквозь этот многоэтажный концепт на MSDN продраться, да и нет там банального толкового пояснения для...

Как обратиться через объект к значению li
Доброго времени суток. Вот возник вопрос, как через объект обратиться к значения li. Через точку не работает: list.li.style.display =...

Как обратиться к значению ячейки выделенной строки DataGridView?
Подскажите, как обратиться к значению ячейки выделенной строки. Индекс/имя ячейки известны.

6
Заблокирован
16.05.2013, 12:39
zremas, покажи сначала как ты вообще все сделал. эти как их экстрасенсы в отпуске...
0
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357
16.05.2013, 19:01  [ТС]
это процедура приемки работы

Private Sub RECEIVE_WO()

Dim oPrevent As String
Dim newTraceID As String

If Me.DGV_WO.ActiveRow.Cells("WO_STOP").Val ue.ToString <> "" Then 'obratilsa cherez grid !!!
oPrevent = "not empty"
Else : oPrevent = ""
End If

Try
If Me.TextBoxWOQty.Text = "" Then
MsgBox("Enter a qty to receive")
Exit Sub
End If

If CURRENT_WO = "" Then
Exit Sub
End If

Dim oQTY As Double
oQTY = CType(Me.TextBoxWOQty.Text, Double)

'TO AVOID receiving WO with SERVICE
If oPrevent <> "" Then
MsgBox("You cannot receive WO if there is service assigned", MsgBoxStyle.Exclamation)
Exit Sub
End If


'TO AVOID WO OVER_RECIEVE
If oQTY > REMAINING_QTY_TO_RECEIVE_CURRENT_WO() Then
MsgBox("You cannot receive more than the desired quantity in total", MsgBoxStyle.Exclamation)
Exit Sub
End If

'TO AVOID RECEIVING A WO WITH SOME OPEN REQUIREMENTS
If ALL_MATERIAL_HAS_BEEN_ISSUED_CHECK() = False Then
MsgBox("There are some open Requirements in this WO." & vbCrLf & "This WO cannot be received through this application." & vbCrLf & " Please refer this WO to your Lead Hand for receiving in Visual", MsgBoxStyle.Exclamation)
Exit Sub
End If

Dim a As DataRow

If PART_TRACEABLE_FOR_REC(CURRENT_PART) = True Then 'this is the Part currently working on

QTY_TO_RECEIVE = oQTY 'QTY_TO_RECEIVE--> global


Dim newFTempTracesWO As New FTempTracesWO
newFTempTracesWO.ShowDialog()


If IsNothing(TEMP_TABLE) Then
Exit Sub
End If

For Each a In TEMP_TABLE.Rows 'TEMP_TABLE hold all the TRACES just deal with
'_____________________(AN) if I comment COM, it is necessary to replace it with valid SQL SCRIPT here _________________________


'rsTrace = rs("TRACE_INFO").Value
'rsTrace.AddNew()
'rsTrace("ENTRY_NO").Value = 1
'rsTrace("TRACE_ID").Value = a(1).ToString 'a(1) is the trace
'rsTrace("QTY").Value = a(2).ToString 'a(2) is the qty
'rsTrace("COMMENTS").Value = "Trace created by " & USUARIO & " through SFC-Phase2 App"
'rsTrace.Update()


Next

End If

'___(AN)____Call stored procedures ________________________________________ __
Me.SpAdapter1.KUDU_SFC_RECEIVE_WO(CURREN T_WO, CURRENT_PART, oQTY)




For Each a In TEMP_TABLE.Rows 'TEMP_TABLE hold all the TRACES just deal with
'Me.T_TRACE_TO_UPDATE_NUMBERINGTableAdap ter.FillByPartAndTrace(Me.DsTraces.T_TRA CE_TO_UPDATE_NUMBERING, CURRENT_PART, a(1).ToString) 'a(1) is the trace
' Here I bring the traces just deal with to manually make NUMBERING_ID = PART_ID as it is not done by the COM
'If Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING. Count > 0 Then 'this table should returm only one row
' MsgBox("Part: " & Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).PART_ID & " - Trace: " & Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).ID)
'Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING (0).NUMBERING_ID = Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).PART_ID
'Me.T_TRACE_TO_UPDATE_NUMBERINGTableAdap ter.Update(Me.DsTraces.T_TRACE_TO_UPDATE _NUMBERING)
'End If
'Me.DsTraces.T_TEMP_TRACES_FOR_WO_RECEIV ING.

newTraceID = a(1).ToString 'a(1) is the trace

Me.SpAdapter1.KUDU_SFC_INSERT_TRACE(newT raceID, CURRENT_PART, oQTY)
' Me.SpAdapter1.KUDU_SFC_INSERT_TRACE_INV_ TRANS(newTraceID, CURRENT_PART, oQTY)
Me.SpAdapter1.KUDU_SFC_INSERT_TRACE_INV_ TRANS(newTraceID, CURRENT_PART, 1)


Next


Me.SpAdapter1.KUDU_SFC_UPDATE_Received_W O(CURRENT_WO)

'--------This is to fix a problem with the COM obj not populating the NUMBERING_ID field-------------------------------------------------------------------
If PART_TRACEABLE_FOR_REC(CURRENT_PART) = True Then 'this is the Part currently working on
If IsNothing(TEMP_TABLE) Then ' this should not happen.
Exit Sub
End If

For Each a In TEMP_TABLE.Rows 'TEMP_TABLE hold all the TRACES just deal with
Me.T_TRACE_TO_UPDATE_NUMBERINGTableAdapt er.FillByPartAndTrace(Me.DsTraces.T_TRAC E_TO_UPDATE_NUMBERING, CURRENT_PART, a(1).ToString) 'a(1) is the trace
' Here I bring the traces just deal with to manually make NUMBERING_ID = PART_ID as it is not done by the COM
If Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING. Count > 0 Then 'this table should returm only one row
' MsgBox("Part: " & Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).PART_ID & " - Trace: " & Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).ID)
Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).NUMBERING_ID = Me.DsTraces.T_TRACE_TO_UPDATE_NUMBERING( 0).PART_ID
Me.T_TRACE_TO_UPDATE_NUMBERINGTableAdapt er.Update(Me.DsTraces.T_TRACE_TO_UPDATE_ NUMBERING)
End If
Next
End If
'------------------------------------------------------------------------------------------------------------------------------

Dim oPROPORTION_BEING_RECEIVED_NOW As Decimal
If DESIRED_QTY_CURRENT_WO() = 0 Then
oPROPORTION_BEING_RECEIVED_NOW = 0
Else
oPROPORTION_BEING_RECEIVED_NOW = oQTY / DESIRED_QTY_CURRENT_WO()
End If

' Call GENERATE_LABOR_TICKETS_BY_SQL(oPROPORTIO N_BEING_RECEIVED_NOW)

Me.SpAdapter1.KUDU_SFC_Insert_Labor_Tick et(CURRENT_WO, CURRENT_PART, oPROPORTION_BEING_RECEIVED_NOW, Me.TextBoxWOQty.Text)

MsgBox("WO " & CURRENT_WO & "has been received")


'Clear Screen
Me.TextBoxWOQty.Text = ""
Me.DsWO2.T_REQ.Clear()
Me.LabelCurrentlyDoing.Text = ""
Me.DsTraces.T_REMAINING_TRACES.Clear()

CURRENT_WO = ""

Me.Lab_Current_WO.Text = "Current WO= " & CURRENT_WO

Call REFRESH_RELEASED_WO()
Call REFRESH_WO_REQUIMENTS()
Call REFRESH_WO_OPERATIONS()

Catch ex As Exception
MsgBox("There was a problem with this Work Order and it wasn't received. Please contact your supervisor" & vbCrLf & ex.Message)
End Try
End Sub
Миниатюры
Как обратиться к значению поля в TableAdapter?  
0
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357
16.05.2013, 19:10  [ТС]
Орбатился так, а надо бы через значение в самом датасете.
На картинке табладаптер.

VB.NET
1
2
3
4
If Me.DGV_WO.ActiveRow.Cells("WO_STOP").Value.ToString <> "" Then 'obratilsa cherez grid !!!
oPrevent = "not empty"
Else : oPrevent = ""
End If
0
Заблокирован
16.05.2013, 19:14
Ладно пойдем по другому пути, покажи момент обращения к базе и получение от нее ответа.
0
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357
16.05.2013, 19:33  [ТС]
Короче, VB я почти не знаю, VB.net тем более. Пишу в основном на Delphi.

Проект написан не мной, мне необходимо было избавиться от использования COM объектов.
Написал хранимки на сервере, положил в Ds контейнер, или как он на Vb называется - адаптер spAdapter и зарегил там все мои хранимки.

Насколько я понимаю среду - (на картинике):
есть контейнерыв датасурсы, в них всякие адаптеры таблиц, хранимок
есть формы, есть код под формой...
при нажатии на кнопку "Receice WO" - вызывается этот код.

Я был бы весьма благодарен, если бы кто показал на примитиве приложения с Northwind db, как сделать

1) На форме грид, открыть таблицу базы (Employees) на этом гриде,
2) встать на строку,
3) в отдельном окне вызывать в режим редактирования EmployeeName, или любое другое поле из таблицы базы.
4) внутри кода запустить цикл по считыванию значений в глобальную переменную и запуска зранимки по апдейту какой-либо таблицы в NorthWind
Миниатюры
Как обратиться к значению поля в TableAdapter?  
0
71 / 71 / 7
Регистрация: 19.07.2011
Сообщений: 357
16.05.2013, 19:47  [ТС]
Вот, например, потребовалось блокировать выполнение этой процедуры.
Я включил в состав формируемого датасета для списка WO - поле WO_STOP.
Его значение может быть NULL, может содержать что-то.
Если там не пусто - то выйти из процы

VB.NET
1
2
3
4
'TO AVOID receiving WO with SERVICE
If oPrevent <> "" Then
MsgBox("You cannot receive WO if there is service assigned", MsgBoxStyle.Exclamation)
Exit Sub

Больше всего меня достала проблема с неработающим присвоением и проверкой, постоянно ругалась на DBNULL и string вот тут

VB.NET
1
If Me.DGV_WO.ActiveRow.Cells("WO_STOP").Value <> "" Then 'obratilsa cherez grid !!!
Потом мне подсказали, что надо .ToString добавить

VB.NET
1
If Me.DGV_WO.ActiveRow.Cells("WO_STOP").Value.ToString <> "" Then 'obratilsa cherez grid !!!
проблема исчезла.

Но на дельфи я бы обратился к значению поля, а не к значению ячейки
типа такого:

Delphi
1
If not WO.FieldByName('WO_STOP').IsNULL then.....

VB.NET
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
Dim oPrevent As String
Dim newTraceID As String
 
If Me.DGV_WO.ActiveRow.Cells("WO_STOP").Value.ToString <> "" Then 'obratilsa cherez grid !!!
oPrevent = "not empty"
Else : oPrevent = ""
End If
 
Try
If Me.TextBoxWOQty.Text = "" Then
MsgBox("Enter a qty to receive")
Exit Sub
End If
 
If CURRENT_WO = "" Then
Exit Sub
End If
 
Dim oQTY As Double
oQTY = CType(Me.TextBoxWOQty.Text, Double)
 
'TO AVOID receiving WO with SERVICE
If oPrevent <> "" Then
MsgBox("You cannot receive WO if there is service assigned", MsgBoxStyle.Exclamation)
Exit Sub
End If
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.05.2013, 19:47
Помогаю со студенческими работами здесь

Как обратиться к значению элемента массива по номеру в массиве и проверить его на четность, если я чайник?)
Здравствуйте, форумчане! Палками не кидайтесь! Есть задача: Дан массив, состоящий из целых чисел. Напишите программу, которая выводит...

Обновление бинарного поля через TableAdapter
Как обновить бинарное поле (varbinary)? при попытке обновить - появляется ошибка: Невозможно преобразовать значение типа...

Как обратиться к функции поля объекта из private'a
Доброго времени суток! Юзаю SFML для отрисовки. Как обратиться к функции setTextureRect, если я _sprite помещу в private? ...

Как к предыдущему значению поля прибавить 1
Существует таблица заказы с полем номера заказа, нужно к предыдущему номеру заказа прибавить 1. Как это можно осуществить? желательно...

TableAdapter для удаления строки из базы данных требует все поля
Здравствуйте, появилось пару вопросов относительно работы с базой данных (ms sql). Первый: благодаря DataSet, BindingSource и...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru