By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
444,234 Members | 1,908 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 444,234 IT Pros & Developers. It's quick & easy.

datatable.row.find method

P: n/a
I need a routine that runs through the current datatable to check for a
duplicate entry using two columns. When I set an array variable to object
and then set each variable's data to find, does the find method search for
var1 or var2, or var1 AND var2? I need it to include any rows that contain
both of these variables.

Here is code that I am using if it might help. If there is another way of
doing this, I am open to suggestions.

Thanks for the information.
Dim foundRow As DataRow

Dim findThese(1) As Object

findThese(0) = dtpEventDate.Value

If cmbShowTrial.SelectedText <> "" Then findThese(1) =
cmbShowTrial.SelectedText Else findThese(1) = ""

foundRow = DsConformation1.Tables(0).Rows.Find(findThese)

If Not (foundRow Is Nothing) Then 'row is found

MsgBox("This entry has already been made")

Exit Sub

End If
Nov 21 '05 #1
Share this Question
Share on Google+
3 Replies


P: n/a
Hi,

The find method will find a data row based on a primary key. The
primary key can be based on more than one column. If you set the primary key
equal to the 2 columns you will get an error if you try to add a duplicate
entry.

http://msdn.microsoft.com/library/de...rykeytopic.asp

http://msdn.microsoft.com/library/de...sFindTopic.asp

Ken
----------------------
"Brad" <al*******@sbcglobal.net> wrote in message
news:eZ****************@TK2MSFTNGP11.phx.gbl...
I need a routine that runs through the current datatable to check for a
duplicate entry using two columns. When I set an array variable to object
and then set each variable's data to find, does the find method search for
var1 or var2, or var1 AND var2? I need it to include any rows that contain
both of these variables.

Here is code that I am using if it might help. If there is another way of
doing this, I am open to suggestions.

Thanks for the information.
Dim foundRow As DataRow

Dim findThese(1) As Object

findThese(0) = dtpEventDate.Value

If cmbShowTrial.SelectedText <> "" Then findThese(1) =
cmbShowTrial.SelectedText Else findThese(1) = ""

foundRow = DsConformation1.Tables(0).Rows.Find(findThese)

If Not (foundRow Is Nothing) Then 'row is found

MsgBox("This entry has already been made")

Exit Sub

End If

Nov 21 '05 #2

P: n/a
Brad,

Bassed on your code I got this idea, why not use a dataview

When you do something the same as now and change every time the rowfilter,
based on your keys, than when the dataview.count is more than one you know
you have a duplicate.

It is just an idea I got when I was looking at your code so not tried.

I hope this helps?

Cor
Nov 21 '05 #3

P: n/a
Cor,

Thanks always for your help.

I did decide to use a dataview because as I discovered, the datarow.find
method only works on unique key columns. The criteria that I need to check
for are not unique columns. Using the dataview I search for the first
criteria and if found then I search for the second and if that is found then
I search for the third. If the final criteria is found then I know that
this is a duplicate entry, alerts the user and exits the sub.

Brad
"Cor Ligthert" <no**********@planet.nl> wrote in message
news:%2****************@TK2MSFTNGP10.phx.gbl...
Brad,

Bassed on your code I got this idea, why not use a dataview

When you do something the same as now and change every time the rowfilter,
based on your keys, than when the dataview.count is more than one you know
you have a duplicate.

It is just an idea I got when I was looking at your code so not tried.

I hope this helps?

Cor

Nov 21 '05 #4

This discussion thread is closed

Replies have been disabled for this discussion.