Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Работа с данными

Страница: 1 |

 

  Вопрос: Поиск-Сравнение данных - Добавлено: 06.01.04 21:09  

Автор вопроса:  Sync | Web-сайт: www.xaker.ru/~Sync

http://www.vbnet.ru/forum/show.asp?id=31574

Простите возможно я неправильно сформулировал свой вопрос.

Дело даже не в числах
генератор числа это так пример
но мне нужен код который получает данные из одного списка и проверяет второй список
на наличие одинаковых данных ( x = y )
если они есть то он возвращается и считывает следующие данные.
А если нет то добовляет в список.

Ответить

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

Номер ответа: 1
Автор ответа:
 ol2003



Вопросов: 3
Ответов: 122
 Профиль | | #1 Добавлено: 06.01.04 23:20

Используй IndexOf. Например:

Dim i as Integer

i=2

if TextBox1.Text.IndexOf(i) > 0 Then ....

И вставляешь любой код какой нужен

Ответить

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



Вопросов: 3
Ответов: 24
 Профиль | | #2 Добавлено: 05.02.04 00:39

Это примерчик функции проверки. Но она немного недописана, но  есть смысл глянуть.

Function Proverka()

Dim str As String, rs As DAO.Recordset, strTmp As String, rsTmp As DAO.Recordset
Dim rsDelete As DAO.Recordset, rsDeleteTmp As DAO.Recordset

Dim Code As Long, CodeTmp As Long
Dim l As Currency, LTmp As Currency
Dim d As Currency, DTmp As Currency
Dim Kolvo As Long, KolvoTmp As Long
Dim Volume As Currency, VolumeTmp As Currency
Dim Volume_All As Currency, Volume_AllTmp As Currency

str = "SELECT Specifick.SpecID, Specifick.DocID, Specifick.CodeID, Specifick.Long, Specifick.Diametr, Specifick.Volume, Specifick.[Kol-vo], Specifick.Volume_All " & _
"FROM Specifick " & _
"WHERE (((Specifick.DocID) = " & GDocId & ")) " & _
"ORDER BY Specifick.CodeID, Specifick.Long, Specifick.Diametr;"

strTmp = "SELECT tmp_Specifick.SpecID, tmp_Specifick.DocID, tmp_Specifick.CodeID, tmp_Specifick.Long, tmp_Specifick.Diametr, tmp_Specifick.Volume, tmp_Specifick.[Kol-vo], tmp_Specifick.Volume_All " & _
"FROM tmp_Specifick " & _
"WHERE (((tmp_Specifick.DocID) = " & GDocId & ")) " & _
"ORDER BY tmp_Specifick.CodeID, tmp_Specifick.Long, tmp_Specifick.Diametr;"

Set rs = CurrentDb().OpenRecordset(str)
Set rsTmp = CurrentDb().OpenRecordset(strTmp)

With rs

If Not .EOF Then
        rsTmp.FindFirst "(((tmp_Specifick.CodeID)=" & !CodeID & ") AND ((tmp_Specifick.Long)=" & !Long & ") AND ((tmp_Specifick.Diametr)=" & !Diametr & "))"
        Do Until .EOF
            If rsTmp.NoMatch Then
                .Delete
            End If
            .MoveNext
            If Not .EOF Then
                rsTmp.FindNext "(((tmp_Specifick.CodeID)=" & !CodeID & ") AND ((tmp_Specifick.Long)=" & !Long & ") AND ((tmp_Specifick.Diametr)=" & !Diametr & "))"
            End If
        Loop
End If

.Close
End With
rsTmp.Close

Set rs = CurrentDb().OpenRecordset(str)
Set rsTmp = CurrentDb().OpenRecordset(strTmp)

With rsTmp

If Not rs.EOF And Not .EOF Then
rs.MoveFirst
.MoveFirst
End If
If Not .EOF Then
        rs.FindFirst "(((Specifick.CodeID)=" & !CodeID & ") AND ((Specifick.Long)=" & !Long & ") AND ((Specifick.Diametr)=" & !Diametr & "))"
        Do Until .EOF
            If Not rs.NoMatch Then
                rs.Edit
                If Len(KolvoTmp) > 0 Then
                    rs![Kol-vo] = ![Kol-vo]
                    rs!Volume = !Volume
                    rs!Volume_All = !Volume_All
                Else
                    rs.Delete
                End If
                rs.Update
            Else
                rs.AddNew
                rs!docId = GDocId
                rs!CodeID = !CodeID
                rs!Long = !Long
                rs!Diametr = !Diametr
                rs![Kol-vo] = ![Kol-vo]
                rs!Volume = !Volume
                rs!Volume_All = !Volume_All
                rs.Update
            End If
            .MoveNext
            If Not .EOF Then
                rs.FindNext "(((Specifick.CodeID)=" & !CodeID & ") AND ((Specifick.Long)=" & !Long & ") AND ((Specifick.Diametr)=" & !Diametr & "))"
            End If
        Loop
End If

rs.Close
.Close
End With

Set rs = CurrentDb().OpenRecordset(str)
Set rsTmp = CurrentDb().OpenRecordset(strTmp)

With rs

If Not .EOF Then
        rsTmp.FindFirst "(((tmp_Specifick.CodeID)=" & !CodeID & ") AND ((tmp_Specifick.Long)=" & !Long & ") AND ((tmp_Specifick.Diametr)=" & !Diametr & "))"
        Do Until .EOF
            If rsTmp.NoMatch Then
                .Delete
            End If
            .MoveNext
            If Not .EOF Then
                rsTmp.FindNext "(((tmp_

Ответить

Страница: 1 |

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



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