Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ЗОЛОТОЙ КОД! / 4 сообщений из 4, страница 1 из 1
24.09.2003, 11:45
    #32273850
ЗОЛОТОЙ КОД!
Привет всем!
Предлагаю создавать специальные топики где можно будет совместно разрабатывать код: Классы и Модули
Например топик : clsAdoConnection
В этом топике будем разрабатывать код для соединения по ADO к сервисам MSSQL Access.
Потом еще и другие топики. В каждом топике будет разрабатываться код!
Просто есть постоянные люди которые сюда заходят и могут принимать участие в предложениях и разработках. Получится так что каждый сможет использовать уже готовый код! Оптимально разработанный всеми!
...
Рейтинг: 0 / 0
24.09.2003, 14:06
    #32274126
Hibernate
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЗОЛОТОЙ КОД!
решений, которые будут оптимальными ДЛЯ ВСЕХ, не существует в природе.
...
Рейтинг: 0 / 0
24.09.2003, 14:49
    #32274232
Hrundel
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЗОЛОТОЙ КОД!
А почему бы и нет. Что если начать с какихнибудь контролов . Например DataCombo и Combo:
Привожу свои разработки:
можно модернизировать:


DATACOMBO и DATALIST
Код: plaintext
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
Private rsDataCombo() As clsRst
Private DataCombos() As Object ' DataCombo 'Object '
Private intDataCombos As Integer

Private Fld() As Object
Private FldType() As typeCtrl
Private FldCount As Integer
Private FldIsError() As Boolean
Private FldErrorMess() As String
Private FldSourceField() As String
Private FldRset As clsRst                                            'recordset

Public Function clsAdoRS(idx As Integer) As clsRst
Set clsAdoRS = rsDataCombo(idx)
End Function
Public Function Boundtext(idx As Integer) As Variant
DbCombo_Requery (idx)
Boundtext = DataCombos(idx).Boundtext
End Function
Public Sub BoundText_set(idx As Integer, myVal As Variant)
 DataCombos(idx).Boundtext = myVal
End Sub

Public Function MatchedWithList(idx As Integer) As Variant
MatchedWithList = DataCombos(idx).MatchedWithList
End Function

Public Function DbCombo_Load(ByVal idx As Integer, _
                             ByVal strId_field As String, _
                             ByVal strTableSource As String, _
                             ByVal strOrderByField As String, _
                             ByRef dcbo As Object, _
                             Optional ByVal idvalue, _
                             Optional strSQL As String) As Integer
intDataCombos = IIf(idx =  0 , intDataCombos +  1 , idx)
ReDim Preserve rsDataCombo(intDataCombos)
ReDim Preserve DataCombos(intDataCombos)

'Set DataCombos(intDataCombos) = dcbo
Set DataCombos(intDataCombos) = dcbo

Set rsDataCombo(intDataCombos) = New clsRst
    
rsDataCombo(intDataCombos).s_strID_Field = strId_field
If Not ((strSQL = "")) Then
    Call rsDataCombo(intDataCombos).Rset_Open_R_SQL(strSQL)
Else
    rsDataCombo(intDataCombos).s_strSqlSource = strTableSource
    Call rsDataCombo(intDataCombos).Rset_Open_R(, strOrderByField)
End If
Set dcbo.RowSource = rsDataCombo(intDataCombos).rsRecset
dcbo.ListField = strOrderByField
dcbo.BoundColumn = strId_field
If ((Not (IsMissing(idvalue))) And (Not (IsNull(idvalue)))) Then
     dcbo.Boundtext = (idvalue)
End If
DbCombo_Load = intDataCombos
'dcbo.BoundText = idvalue
End Function


Public Sub DbCombo_Requery(intI As Integer)

rsDataCombo(intI).rsRecset.Requery
End Sub

Public Sub DbCombo_Close()

Dim i As Integer
For i =  1  To intDataCombos
'    rsDataCombo(intDataCombos).Table_Close
    Set rsDataCombo(intDataCombos) = Nothing
Next
End Sub

Private Sub Class_Initialize()
  intDataCombos =  0 
End Sub


Private Sub Class_Terminate()
  DbCombo_Close
End Sub




COMBOBOX:


Код: plaintext
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.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
Option Explicit

Dim Combos() As ComboBox
Dim Combos_id() As Variant
Dim intCombos As Integer
Public clsAdo As clsRst

Public Function Cbo_ListIndex(idx As Integer)
Cbo_ListIndex = Combos_id(idx, Combos(idx).ListIndex)
End Function
Public Function Combo_Load(ByVal idx As Integer, _
                            ByVal strId_field As String, _
                            ByVal strTableSource As String, _
                            ByVal strOrderByField As String, _
                            ByRef dcbo As ComboBox, _
                   Optional ByVal idvalue, _
                   Optional ByVal strSQL As String, _
                   Optional ByVal isAll As Boolean = False) As Integer

intCombos = IIf(idx =  0 , intCombos +  1 , idx)
ReDim Preserve Combos(intCombos +  1 )
'ReDim Preserve Combos_id(intCombos + 1)
Set Combos(intCombos) = dcbo


Set clsAdo = New clsRst
clsAdo.s_strID_Field = strId_field

If (IsMissing(strSQL)) Then
    Call clsAdo.Rset_Open_R_SQL(strSQL)
Else
    clsAdo.s_strSqlSource = strTableSource
    Call clsAdo.Rset_Open_R(, strOrderByField)
End If
Dim intRecords As Integer
Dim intI As Integer
intRecords = clsAdo.rsRecset.RecordCount
If intRecords > 0 Then
    ReDim Preserve Combos_id(intCombos + 1, intRecords)
    clsAdo.rsRecset.MoveFirst
    dcbo.AddItem "Âñå", 0
    Combos_id(intCombos, 0) = 0
    For intI = 1 To intRecords
        dcbo.AddItem clsAdo.rsRecset.Fields(strOrderByField), intI
        Combos_id(intCombos, intI) = clsAdo.rsRecset.Fields(strId_field)
        clsAdo.rsRecset.MoveNext
    Next
End If

'If ((Not (IsMissing(idvalue))) And (Not (IsNull(idvalue)))) Then
'     dcbo.Boundtext = (idvalue)
'End If
'DbCombo_Load = intCombos
End Function

Private Sub Class_Terminate()
Set clsAdo = Nothing

End Sub
...
Рейтинг: 0 / 0
24.09.2003, 16:27
    #32274442
Flare
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
ЗОЛОТОЙ КОД!
Нахрена попУ гармонь?(C) или изобретение велосипеда?
В нете информационных ресурсов посвященных данной тематике просто тьма!
[[код для соединения по ADO к сервисам MSSQL Access]]]???
У одного издательства SAMS кода в специализированной литературе на эту тему больше чем кто-то тут сможет написать за всю жизнь.
Ви хочете больше? Мертворожайте курам на смех.
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / ЗОЛОТОЙ КОД! / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]