Успешно начинающ сценарий VB для того чтобы создать таблицу результатов (спасибо помощь EE), для этого было определено оно нужно быть приспособленным к бегу в SQL. Сценарий VB следующим образом: class= " lineNumbers " >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:
функция GroupRecords " prettyprint " " class= id= " codeSnippet749177 >Public ()
Тусклый SQL как шнур
Тусклое StartDate как шнур
Тусклые rs как Recordset
Тусклое rs2 как Recordset
StartDate = InputBox («пожалуйста впишите год и месяц, котор нужно использовать в обусловливать показатели члена.» & vbCrLf & vbCrLf & «(используйте формат даты YYYYMM.)», «дата начала»)
DoCmd.SetWarnings ложное
Для I = 0 к CurrentDb.TableDefs.Count - 1
Если CurrentDb.TableDefs, то (I). Имя = «Tmp_Group_Recordset» после этого
DoCmd.DeleteObject acTable, «Tmp_Group_Recordset»
Выходите для
Закончитесь если
Затем
Для I = 0 к CurrentDb.TableDefs.Count - 1
Если CurrentDb.TableDefs, то (I). Имя = «Tmp_Group_Results» после этого
DoCmd.DeleteObject acTable, «Tmp_Group_Results»
Выходите для
Закончитесь если
Затем
SQL = «ОТБОРНЫЕ dbo_Source.* В Tmp_Group_Recordset»
SQL = SQL & «ОТ dbo_Source»
SQL = SQL & «ГДЕ (((dbo_Source.YearMonth) = «» & StartDate & «")) «
SQL = SQL & «ЗАКАЗ YearMonth; »
DoCmd.RunSQL SQL
SQL = «СОЗДАЕТ ТАБЛИЦУ Tmp_Group_Results (ContractNumber varchar (5) Null, YearMonth varchar (6) Null, Null MemberNumber varchar (12),»
SQL = SQL & «Null LastName varchar (25), Null FirstName varchar (25), MI varchar (1) Null,»
Null SQL = SQL & «DOB Datetime, Null интежера рода, SSN varchar (9) Null, Null состояния varchar (25)); »
DoCmd.RunSQL SQL
Установите rs = CurrentDb.OpenRecordset («Tmp_Group_Recordset»)
Установите rs2 = CurrentDb.OpenRecordset («Tmp_Group_Results»)
rs.MoveFirst
Не сделать до rs.EOF
Для j = 13 к rs. Fields.Count - 1
Если rs (j) = -1 и rs, то (5) = StartDate после этого
С rs2
.AddNew
! ContractNumber = rs (3)
! YearMonth = rs (5)
! MemberNumber = rs (6)
! LastName = rs (7)
! FirstName = rs (8)
! MI = rs (9)
! DOB = rs (10)
! Род = rs (11)
! SSN = rs (12)
! Состояние = rs (j). Имя
. Уточнение
Конец с
Закончитесь если
Затем
rs.MoveNext
Петля
rs. Конец
rs2.Close
Установите rs = ничего
Установите rs2 = ничего
DoCmd.SetWarnings поистине
Функция конца
class=
The должно создать таблицу «Tmp_Group_Results» на сервере SQL, вытягивая данные сразу от источника («dbo_Source»). Таблица источника ОГРОМНА (миллионы показателей). Дополнительно, уменьшать общее количество показателей в таблице результатов, я был спрошены, что устанавливаю МИНУТУ и МАКС на поле YearMonth, собирая на другие поля. Поля следующим образом:
ContractNumber YearMonth MemberNumber LastName FirstName MI DOB Gender SSN Status FromDate ToDate
While, котор я знаком с SQL, я не будет специалист любым простиранием. Любой помощью, котор я могу получить было бы больш appreciated.
class=
|