|
|
|
| Создаю запросом таблицу из другой таблицы , а поле которое было индексировано и значения не должны повториться - становится обычным
' создаём GROUP_TREEVIEW_TBL из G_T_V_EYALON
GLB_con.Execute "SELECT G_T_V_EYALON.KEY, G_T_V_EYALON.ID_GROUP, G_T_V_EYALON.GROUP_PARENT INTO GROUP_TREEVIEW_TBL
FROM G_T_V_EYALON
WITH OWNERACCESS OPTION;
Как изменить запрос???
|
| |
|
| |
|
|
|
| перефразирую вопрос
Set adoxCol = New ADOX.Column
With adoxCol
.ParentCatalog = adoxCat
.Name = "ID_GROUP"
.Type = adInteger 'тип поля
'условие на значение
.Properties("Jet OLEDB:Column Validation Rule").Value = "<>'' and not is null"
'сообщение о нарушении условия на значение
.Properties("Jet OLEDB:Column Validation Text").Value = "Идентификатор группы?"
End With
.Columns.Append adoxCol, adInteger
|
как сюда добавить параметр .Unique | |
|
| |
|
|
|
| или сюда куда то
Dim idx As New ADOX.Index
' Зададим параметры индекса
idx.Name = "Index1"
idx.Columns.Append "ID_GROUP"
' Добавляем индекс в коллекцию
adoxTbl.Indexes.Append idx
|
| |
|
| |
|
|
|
|
| Ну примерно так
dim idx as ADOX.Index
set idx = New ADOX.Index
idx.Name = "NameIndex"
idx.Unique = True
idx.Columns.Append "UserName"
tbl.Indexes.Append idx
|
| |
|
| |
|
|
|
|
| теперь другой проблемм
как засунуть необязательное поле
.[quote]
Properties("Required").Value = False
[/quote
и это тоже
Свойство Пустые строки (AllowZeroLength) определяет, допускается ли ввод в поле ] | |
|
| |
|
|
|
|
Response = MsgBox("Allow 'Null' index? Otherwise ignore 'Null' index.", vbYesNo)
'"Allow 'Null' index? Otherwise ignore 'Null' index."
', vbYesNo + vbCritical + vbDefaultButton2,,,,
If Response = vbYes Then ' User chose Yes.
idxNew.IndexNulls = adIndexNullsAllow
Else ' User chose No.
idxNew.IndexNulls = adIndexNullsIgnore
End If
|
Похоже выдрал из хелпа что то нужное | |
|
| |
|
|
|
|
| Простите -
А что это такое???? | |
|
| |
|
|
|
|
Видимо вот так??
idx.Name = "Index2"
idx.IndexNulls = adIndexNullsIgnore
idx.Columns.Append "ID_SHEMS"
' Добавляем индекс в коллекцию
adoxTbl.Indexes.Append idx
|
| |
|
| |
|
|
|
| Видимо немного не то
Нужно свойство AllowZeroLength задать
или Required Обязательное поле = false | |
|
| |
|
|
|
| Сударь, а вам не приходило в голову в строке поиска VBA ввести свой вопрос?
Sub AllowZeroLengthX()
Dim dbsNorthwind As Database
Dim tdfEmployees As TableDef
Dim fldTemp As Field
Dim rstEmployees As Recordset
Dim strMessage As String
Dim strInput As String
Set dbsNorthwind = OpenDatabase("Northwind.mdb")
Set tdfEmployees = dbsNorthwind.TableDefs("Employees")
' Create a new Field object and append it to the Fields
' collection of the Employees table.
Set fldTemp = tdfEmployees.CreateField("FaxPhone", _
dbText, 24)
fldTemp.AllowZeroLength = True
tdfEmployees.Fields.Append fldTemp
Set rstEmployees = _
dbsNorthwind.OpenRecordset("Employees")
With rstEmployees
' Get user input.
.Edit
strMessage = "Enter fax number for " & _
!FirstName & " " & !LastName & "." & vbCr & _
"[? - unknown, X - has no fax]"
strInput = UCase(InputBox(strMessage))
If strInput <> "" Then
Select Case strInput
Case "?"
!FaxPhone = Null
Case "X"
!FaxPhone = ""
Case Else
!FaxPhone = strInput
End Select
.Update
' Print report.
Debug.Print "Name - Fax number"
Debug.Print !FirstName & " " & !LastName & " - ";
If IsNull(!FaxPhone) Then
Debug.Print "[Unknown]"
Else
If !FaxPhone = "" Then
Debug.Print "[Has no fax]"
Else
Debug.Print !FaxPhone
End If
End If
Else
.CancelUpdate
End If
.Close
End With
' Delete new field because this is a demonstration.
tdfEmployees.Fields.Delete fldTemp.Name
dbsNorthwind.Close
End Sub
|
| |
|
| |
|
|
|
|
| Я так и пытаюсь, но ничё не выходит
Set adoxCol = New ADOX.Column
With adoxCol
.ParentCatalog = AdoxCat
.Name = "ID_SHEMS"
.Type = adVarWChar 'òèï ïîëÿ
.DefinedSize = 100
.Properties("Required").Value = False
.Properties("AllowZeroLength").Value = False
End With
.Columns.Append adoxCol, adVarWChar
|
| |
|
| |
|
|
|
| Конечно победа за нами, но какая хрень
' ïîëå "ID_DISCONT"
Set adoxCol = New ADOX.Column
With adoxCol
.ParentCatalog = AdoxCat
.Name = "ID_DISCONT"
.Type = adVarWChar 'òèï ïîëÿ
.DefinedSize = 100
.Properties(13).Value = False
End With
.Columns.Append adoxCol, adVarWChar
|
| |
|
| |
|
|
|
|
'поле "ID_DISCONT"
Set adoxCol = New ADOX.Column
With adoxCol
.ParentCatalog = AdoxCat
.Name = "ID_DISCONT"
.Type = adVarWChar 'тип поля
.DefinedSize = 100
.Properties(13).Value = False
End With
.Columns.Append adoxCol, adVarWChar
|
Похвастайся, как ты умудряешься так зашифровать русский текст
Может тебе раскодировщик выслать, что бы форум не пугать?
| |
|
| |
|
|
|
|
Похвастайся, как ты умудряешься так зашифровать русский текст
Может тебе раскодировщик выслать, что бы форум не пугать?
|
При копировании текста с английсой раскладкой клавы происходят такие метаморфозы | |
|
| |
|
|
|
| Св-во №13 называется "Jet OLEDB:Allow Zero Length". Неужели трудно было выполнить
Debug.Print .Properties(13).Name
А разве это св-во по умолчанию не False? | |
|
| |
|
|
|
|
Debug.Print .Properties(13).Name
|
Вот-вот. Я в своё время это уже проделывал, даже статью написал http://am.rusimport.ru/MSAccess/topic.aspx?ID=642 | |
|
| |
|
|
|
| Вот и статья подоспела!!!!!!!
Спасибо!!!!!!! | |
|
| |
|
|
|
|
Св-во №13 называется "Jet OLEDB:Allow Zero Length". Неужели трудно было выполнить
Debug.Print .Properties(13).Name
|
не трудно, но когда пишу словами он не находит данного свойства , а по индексу пожалыста | |
|
| |