Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 06:56 03.06.24 
Компютри и Интернет
   >> Бази данни
Всички теми Следваща тема *Кратък преглед

Тема Въпрос за Access  
АвторHoв (Нерегистриран)
Публикувано24.11.06 21:53



Помогнете ми в един проблем който искам да реша. Аз сега изучавам Access и въпроса може и да ви се стори елементарен но за мене не е.
Как да направя така че когато въвеждам текст в едно поле този текст да остане в следващите записи докато не се промени. Попълвам данните чрез форма.
Благодаря ви предварително!



Тема Re: Въпрос за Accessнови [re: Hoв]  
Авторju (Нерегистриран)
Публикувано27.11.06 08:40



Ще ти дам само идея, която ми идва първо на ум. Можеш в хедера на формата да поставиш едно unbound поле т.е. не свързано с поле от таблица напр. нека се казва TextDef и в него да въвеждаш текста. Във полетата от формата в които искаш да се записва този текст в Default value поставяш =TextDef.
Можеш да разшириш задачката като вместо обикновенно текстово поле поставиш комбо бокс , който показва съдържанието на полето от таблицата (групирано разбира се). Така няма да се налага да пишеш , а само ще избираш . Когато въведеш нещо което го няма в таблицата , на събитието On Not In List първо го добавяш на нов ред в таблицата. Ако те затрудни ще ти покажа как става . Погледни в примерната база Solution.mdb има примери от които лесно се учи.



Тема Re: Въпрос за Accessнови [re: ju]  
АвторHoв (Нерегистриран)
Публикувано27.11.06 10:06



Благодаря ти. Тъй като сега се запознавам с Access и не ми е ясен начина на писане на макроси и механизма им на взаимодействие с таблицццата ще те попитам да ли е възможно да се дефинира една променлива която е от същия тип на полето и в началото да сочи към null или някаква стойност по подразбиране. След въвеждане на данни в това поле тя да приема тази стойност и при следващ запис тази стойност да се зарежда в полето автоматично от тази променлива. А това с комбо бокс ще го пробвам да ли ще ми върши работа.



Тема Re: Въпрос за Accessнови [re: Hoв]  
Авторju (Нерегистриран)
Публикувано27.11.06 12:20



Да може и така да се направи, ако имаш някакви стандартни стойности за въвеждане и които можеш да избираш по някакъв критерий, т. е. без има поле за въвеждане. Ако има поле за въвеждане във форма, въвеждаш текст, запазваш го в променлива и след това променливата я присвояваш на друго поле , просто удължаваш процеса с една операция.
Но идеята може да се използува за глобална променлива . Във форма 1 въвеждаш текст , запазваш го в глобалната променлива , затваряш форма 1 . Във форма 2 използуваш глобалната променлива за въвеждане на данни.Има следния недостатък , че при съобщение за грешка променливата губи стойността си и т.к форма 1 е вече затворена няма да знаеш какво е било въведено.
Един съвет : избягвай да пишеш макроси. С код е много по-прегледно.



Тема Ей така ще станенови [re: Hoв]  
АвторЛили (Нерегистриран)
Публикувано07.12.06 10:54



Имаш една таблица за съхраняване на променлива. Нита тоблицата се нарича tbl_Properties_Local със следната структура

PropertyName text 50 No Duplicates
PropertyValue text 255

Нека PropertyName=Var1


В момента в който пишеш в полето трябва да се задейства едно събитие AfterUpdate което да запише променливата Var1 в таблицата.

Това може да стане така:

' Запомни последната стойност
Call PropertiesWrite("Var1", CStr(Me!Var1))

Самата функция PropertiesWrite може да изглежда така:
Function PropertiesWrite(strPropertyName As String, _
strPropertyValue As String) As Integer
On Error GoTo PropertiesWrite_ErrHandler
' This function writes the specified property value out to the properties table.

Dim conConnection As ADODB.Connection
Dim StrSQL As String

Set conConnection = CurrentProject.Connection
conConnection.CursorLocation = adUseServer


StrSQL = " UPDATE [tbl_Properties_Local] " & _
" SET [PropertyValue] = " & conQuote & strPropertyValue & conQuote & _
" WHERE [PropertyName] = " & conQuote & strPropertyName & conQuote


conConnection.Execute StrSQL, iAffected, adExecuteNoRecords

WrapUp:
conConnection.Close

Exit_PropertiesWrite:
Set conConnection = Nothing
Exit Function

PropertiesWrite_ErrHandler:
Call LogMsgError(Err.Description, Err.Number, ModuleName$, "PropertiesWrite")
Resume Exit_PropertiesWrite
End Function

След като последната стойност е въведена в таблицата тя може да се чете с друга функция. Необходимо е да се подбере и подходящо събитие кога да става това така, че въвеждащия да не се налага да го прави.

Ами това е. Тези работи ги ползвам много и за това реших да споделя. Айде всичко добро.




Всички темиСледваща тема*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2024 Dir.bg Всички права запазени.