|
|
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Кто скажет, в чем проблема? ИмяПоля.DefaultValue = CurrentUser() При запуске в поле пишет #Имя? Поле текстовое. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 13:24 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Может быть, надо так: ИмяПоля.DefaultValue = "=CurrentUser()" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 13:38 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
А что делать, если это надо вставить в запрос : openrecordset("Select... WHERE (...=currentuser())") так не работает и так не работает openrecordset("Select... WHERE (...="=currentuser()")") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 13:48 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Уважаемый SergeyParfenov я вот тут за Вашими вопросами наблюдаю и заметил одну вещь которую Вы судя по всему не уловили, попробую объяснить на примере openrecordset("Select... WHERE (...="=currentuser()")") openrecordset() - в скобочках должен получить SQL-вариант запроса "Select... WHERE (...="=currentuser()")" - как вот это интерпритирует Access я не в состоянии представить. Дело в том что currentuser() - это функция и поместив её в кавычки Вы говорите AccEss'у что это не функция, а какой то текст. чтобы правильно сформировать эту строку надо весь статичный текст запроса поместить в кавычки, т.е. в строку у нас получаеться 2 строки 1ая Код: plaintext Между ними нам надо всобачить Значение функции, а не её наименование, т.е. функцию в кавычки ложить не надо, надо её результат в сунуть между предыдущими строками получаем Код: plaintext Теперь надо это всё соеденить в одну строку это делаеться с помощью символа & получим следуещее выражение: Код: plaintext Но это ещё не всё, насколько я понимаю Поле в таблице, где лежит имя юзверя имеет тип данных Text, и если Вы обратили внимание значения таких полей в запросе беруться в кавычки. Если мы сейчас выполним следующую строку: Код: plaintext то увидим на экране Код: plaintext а такой запрос ессно не выполниться значиться надо добавит кавычки в итоге получаем Вашу строку: Код: plaintext Так что переодически посматривайте, что за строку вы скармливаете на выполнение Access'у Suslik писал:Может быть, надо так: ИмяПоля.DefaultValue = "=CurrentUser()" Здесь частный случай, дело в том что некоторые properties могут воспринимать в качестве значения функции, и выше написанное аналогично тому если бы Вы в ручную прописали в свойстве DefaultValue этого поля =CurrentUser() В итоге могу прибавить что не знаю почему у Вас так не красиво всё получалось ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:19 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Where Users=CurrentUser() работает прекрасно, просто расчудесно. Если бы захотел узнать почему не работает у тебя, ты бы нам сообщение об ошибке прислал. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:20 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Отличное объяснение. Но Пишу: MsgBox "SELECT aaa.bbb FROM aaa WHERE (aaa.UserName=" & CurrentUser() & ")" Выводит: SELECT aaa.bbb FROM aaa WHERE (aaa.UserName=user) Запихиваю это в Open("SELECT aaa.bbb FROM aaa WHERE (aaa.UserName=" & CurrentUser() & ")") Выдает ошибку но не о типе, а о не нахождении. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 14:54 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
А если запустить этот запрос из обычного акесного запроса, он отработает? У меня все отработало. Может у тебя проблемы с ссылками. Если есть не правильные, то не работают и др. функции. Посмотри. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:05 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Я ж говорил что должно быть Код: plaintext ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:16 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Когда добавляю """...""" в поле все равно #Имя? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:21 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
а вот такой код что выдаёт: MsgBox CurrentUser() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:31 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Выдает Usera нормально. Вот мой код: Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset rst.Open ("SELECT aaa.bbb FROM aaa WHERE (((aaa.UserName)=CurrentUser()))"), CurrentProject.Connection If Not (rst.EOF And rst.BOF) Then [pole].DefaultValue = rst.Fields("bbb").Value Else [pole].DefaultValue = vbNullString End If rst.Close Set rst = Nothing ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:37 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Код: plaintext замените выражение в скобках на: Код: plaintext я буду плакать...... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 15:52 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Я все заменил и ничего не выходит Формат таблици: Key - счетчик Id - текст Name - текст _________________ Key Id Name I -------------------- 1 log Petrov I _________________ соответственно CurrentUser()=log ___________________________________________________________________ Private Sub Form_Load() Dim rst As ADODB.Recordset Set rst = New ADODB.Recordset rst.Open ("SELECT g.name FROM g WHERE (((g.id)=""" & CurrentUser() & """))"), CurrentProject.Connection If Not (rst.EOF And rst.BOF) Then [Поле0].DefaultValue = rst.Fields("name").Value Else [Поле0].DefaultValue = vbNullString End If rst.Close Set rst = Nothing End Sub ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:04 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Попробуй так: rst.Open ("SELECT g.name FROM g WHERE (((g.id)='" & CurrentUser() & "'))"), CurrentProject.Connection Т.е. должно получиться g.id='Вася' ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:24 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Мужики обнаружил интересную вещь. [Поле0].DefaultValue = rst.Fields("name").Value Name в таблице текстового типа, но если вместо букв в таблице писать цифры, все работает. Это что? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:28 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
там можно как номер поля юзать так и имя покрайне мере в DAO так... Я юзал имя и никаких проблем ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:32 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
>Name в таблице текстового типа, но если вместо букв в таблице писать цифры, все работает. >Это что? Это служебное слово Access. А если цифру подставить равную 999, что будет. Если ошибка - не обнаружено что-то там в семействе, то акес делает неявное преобразование (типа rs.Fields(999) ) Попробуй rst.Open ("SELECT [g].[name] FROM g WHERE (((g.id)='" & CurrentUser() & "'))"), CurrentProject.Connection ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:34 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Че-то я не понял топика. Поэтому и выдал чушь. Конечно к объекту в семействе (любом) можно обращаться как по имени так и по его номеру в коллекции. rs.fields(0).Value тождественно rs.fields("ИмяСамогоПервогоСтолбца") или rs.fields![ИмяСамогоПервогоСтолбца].rs.fields(0).Name - покажет имя столбца Но лучше не пользоваться номерами, вдруг добавишь или удалишь столбец и запрос будет возвращать вместо цены покупной цену продужную (это я к примеру) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:40 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Я бы запросы сохранил на сервере, и там и вставил отбор по WHERE ID=user_id() ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 16:41 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
По разному пробовал, не получается. Любое число считывает, а как к нему букву добавишь не читает. Какой выход? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:04 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
Сделай в конструкторе рабочий запрос и покажи Да кстате у меня была проблемка с фоксовскими таблицами они иначе чем "LIKE UserName*" не как находить не хотели ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:11 |
|
||
|
CurrentUser()
|
|||
|---|---|---|---|
|
#18+
SELECT g.Name FROM g WHERE (((g.Id)="sp")) WITH OWNERACCESS OPTION; Результат Sergey. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.04.2003, 18:18 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32138718&tid=1681833]: |
0ms |
get settings: |
8ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
6ms |
get forum data: |
2ms |
get page messages: |
41ms |
get tp. blocked users: |
1ms |
| others: | 229ms |
| total: | 364ms |

| 0 / 0 |
