MS Access Максимальное кол-во полей?

Работа VB и СУБД (Access, MSSQL, MySQL, Oracle и пр.)
Правила форума
При создании новой темы не забывайте указывать используемую СУБД.
JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

MS Access Максимальное кол-во полей?

Сообщение JohnK » 26.03.2010 (Пт) 0:56

С базами работал мало, и тут такая вот беда. Создаю таблицу с полями, создает до 12 полей максимум а больше не хочет в чем может быть проблема?
Код: Выделить всё
lngDBOpts = dbVersion40 + dbEncrypt
Set NewWs = DBEngine.Workspaces(0)
Set NewDB = NewWs.CreateDatabase(DBFilePath, dbLangCyrillic, lngDBOpts)
strTblName = "ATable"
Set NewTbl = NewDB.CreateTableDef(strTblName)

ret = AddTableField(NewTbl, 1, "z", dbLong, 0)
ret = AddTableField(NewTbl, 2, "zz", dbText, 127)
ret = AddTableField(NewTbl, 3, "zzz", dbText, 63)
ret = AddTableField(NewTbl, 4, "zztzz", dbText, 63)
ret = AddTableField(NewTbl, 5, "zzzrzz", dbText, 63)
ret = AddTableField(NewTbl, 6, "zzzezzz", dbText, 63)
ret = AddTableField(NewTbl, 7, "zzzrzzz", dbDate, 0)
ret = AddTableField(NewTbl, 8, "zztzz", dbText, 255)
ret = AddTableField(NewTbl, 9, "zzhhzzzz", dbMemo, 0)
ret = AddTableField(NewTbl, 10, "gg", dbBoolean, 0)
ret = AddTableField(NewTbl, 11, "dd", dbLong, 0)
ret = AddTableField(NewTbl, 12, "ff", dbLong, 0)
ret = AddTableField(NewTbl, 13, "sss", dbDate, 0)
ret = AddTableField(NewTbl, 14, "ssss", dbLong, 0)

NewDB.TableDefs.Append NewTbl
....


Создает только до "ff" ((
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

Денис
Доктор VB наук
Доктор VB наук
Аватара пользователя
 
Сообщения: 2734
Зарегистрирован: 07.11.2006 (Вт) 13:55
Откуда: Ейск, Краснодарский край

Re: MS Access Максимальное кол-во полей?

Сообщение Денис » 26.03.2010 (Пт) 8:58

Попробуйте создавать SQL-запросом.
Программирование — богоизбранная дисциплина! Если бог и есть, то вселенную он скомпилировал, не иначе.

JohnK
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 874
Зарегистрирован: 03.08.2002 (Сб) 0:35
Откуда: 48.02` 37.58`

Re: MS Access Максимальное кол-во полей?

Сообщение JohnK » 28.03.2010 (Вс) 23:12

Спасибо, помогло.
А можно ли с помощью SQL запроса сделать выборку, вернее как "забрать" сформированную базой таблицу?
Я делаю так:
Код: Выделить всё
Public Function User_Login(sUser As String, sPass As String) As Boolean
User_Login = False
Set Users = NewDB.OpenRecordset("SELECT * FROM Users WHERE [Name] = '" & sUser & "' AND [Pass]= '" & sPass & "'")
If Users.EOF Then
    Exit Function
       Else
    User_Login = True
    PR.UserAccessRights = Users.Fields("Rights").Value
End If
Users.Close: Set Users = Nothing
End Function


Это можно сделать так:
Код: Выделить всё
strSQL ="SELECT * FROM Users WHERE [Name] = '" & sUser & "' AND [Pass]= '" & sPass & "'"
NewDB.Execute strSQL

If Err.Number <> 0 Then Exit Function
А дальше?
SELECT * FROM girls WHERE tits NOT NULL AND age BETWEEN 18 AND 25 ORDER BY Beauty

iGrok
Артефакт VBStreets
Артефакт VBStreets
 
Сообщения: 4272
Зарегистрирован: 10.05.2007 (Чт) 16:11
Откуда: Сетевое сознание

Re: MS Access Максимальное кол-во полей?

Сообщение iGrok » 29.03.2010 (Пн) 0:37

А никак. ЕМНИП, Execute предназначен только для запросов, не возвращающих результат.
label:
cli
jmp label

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Re: MS Access Максимальное кол-во полей?

Сообщение alibek » 29.03.2010 (Пн) 8:09

iGrok писал(а):А никак. ЕМНИП, Execute предназначен только для запросов, не возвращающих результат.

В DAO.
Lasciate ogni speranza, voi ch'entrate.

Andrey Fedorov
Член-корреспондент академии VBStreets
Член-корреспондент академии VBStreets
 
Сообщения: 3287
Зарегистрирован: 21.05.2004 (Пт) 9:28
Откуда: Москва

Re: MS Access Максимальное кол-во полей?

Сообщение Andrey Fedorov » 08.04.2010 (Чт) 7:51

JohnK писал(а):Создает только до "ff" ((


У вас, вообще-то имена подей повторяются...

А так все прекрасно создается...

Код: Выделить всё
    Dim lngDBOpts As Long, NewDB As DAO.Database, NewTbl As TableDef, i As Field

    On Error Resume Next
    Kill "D:\Temp\dd.mdb"
    On Error GoTo 0

    lngDBOpts = dbVersion40 + dbEncrypt
    Set NewDB = DBEngine.Workspaces(0).CreateDatabase("D:\Temp\dd.mdb", dbLangCyrillic, lngDBOpts)
    Set NewTbl = NewDB.CreateTableDef("ATable")

    NewTbl.Fields.Append NewTbl.CreateField("z", dbLong, 0)
    NewTbl.Fields.Append NewTbl.CreateField("zz", dbText, 127)
    NewTbl.Fields.Append NewTbl.CreateField("zzz", dbText, 63)
    NewTbl.Fields.Append NewTbl.CreateField("zztzz", dbText, 63)
    NewTbl.Fields.Append NewTbl.CreateField("zzzrzz", dbText, 63)
    NewTbl.Fields.Append NewTbl.CreateField("zzzezzz", dbText, 63)
    NewTbl.Fields.Append NewTbl.CreateField("zzzrzzz", dbDate, 0)
    NewTbl.Fields.Append NewTbl.CreateField("zztzz_", dbText, 255)
    NewTbl.Fields.Append NewTbl.CreateField("zzhhzzzz", dbMemo, 0)
    NewTbl.Fields.Append NewTbl.CreateField("gg", dbBoolean, 0)
    NewTbl.Fields.Append NewTbl.CreateField("dd", dbLong, 0)
    NewTbl.Fields.Append NewTbl.CreateField("ff", dbLong, 0)
    NewTbl.Fields.Append NewTbl.CreateField("sss", dbDate, 0)
    NewTbl.Fields.Append NewTbl.CreateField("ssss", dbLong, 0)

    NewDB.TableDefs.Append NewTbl
Фиг Вам! - Сказал Чебурашка, обгладывая Крокодила Гену...


Вернуться в Базы данных

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 36

    TopList