Access Помощ
9 отговора
0 прегледа
Access Помощ
Имам следния въпрос - може ли от една заявка(query1) да се взема стойността на едно поле (DO) и да се изписва в textbox (text31) в една форма от която заявката чете информация. Пробвах с SQL но нещо не се получава кода които написах е : INSERT INTO form1 (text31) SELECT DO, FROM query1; не сам сигурен дали може да се направи това с SQL ,може да е процедура или модул но незнам как точно става ,ако някой може да ми помогне ще сам му много благодарен
Re: Access Помощ
с insert into няма да стане виж със select да
а и заявката ти не е правилно построена
от къде взимаш информация каква стойност трябва да има в текст бокса
а и заявката ти не е правилно построена
от къде взимаш информация каква стойност трябва да има в текст бокса
Re: Access Помощ
Query-то чете информацията от combp box-ове който се намират в form1, които пък са свързани таблици в заявкат за да може да се правят изчисления по зададени параметри. и аз искам от вече готовата заявка която си работи без пробем да направя така че едно от полетата и (числово) да връза стойността в формата в текстова кутия - DO ,пробвах с SQL но нестава нещо иби аз сам го объркал, и желая някой да ми помогне
Re: Access Помощ
Уф, или аз съм тъп или не обясняваш като хората.
1.Формата вързана ли е към тва query или не
2. Ако става на въпрос да четеш от друга таблица, то точно кой запис ти треба?Или цялата ще я напъхаш в полето?
Между другото нещо сериозно на access без да попишеш из модулите или в самите форми едва ли ще стане.
ето ти пример който би трябвало да ти свърши работа, само го слагаш на което ти трябва събитие, например на бутон-клик
dim d as database, rs as recordset
set d=currentdb() или ако не е текущата set d=opendatabase("xxxx.mdb")
set rs=d.openrecordset("query1",dbopendynaset)
тук вместо query1 можеш да си сложиш SQL кода на заявката, ама трябва да е SELECT заявка ,ако изкаш да пускаш изпълнима заявка синтаксиса е d.execute(SQL)
rs.movefirst - взема първия запис
ако ти трябва определен запис или включваш в SQL-a клауза WHERE или така:
rs.findfirst "DO = " & на еди кво си ( ако е string слагаш и кавички!)
изобщо от тук нататък вариани бол - прочети хелпа
form1.text31.text=rs!DO - записва информацията в полето
rs.close
d.close
1.Формата вързана ли е към тва query или не
2. Ако става на въпрос да четеш от друга таблица, то точно кой запис ти треба?Или цялата ще я напъхаш в полето?
Между другото нещо сериозно на access без да попишеш из модулите или в самите форми едва ли ще стане.
ето ти пример който би трябвало да ти свърши работа, само го слагаш на което ти трябва събитие, например на бутон-клик
dim d as database, rs as recordset
set d=currentdb() или ако не е текущата set d=opendatabase("xxxx.mdb")
set rs=d.openrecordset("query1",dbopendynaset)
тук вместо query1 можеш да си сложиш SQL кода на заявката, ама трябва да е SELECT заявка ,ако изкаш да пускаш изпълнима заявка синтаксиса е d.execute(SQL)
rs.movefirst - взема първия запис
ако ти трябва определен запис или включваш в SQL-a клауза WHERE или така:
rs.findfirst "DO = " & на еди кво си ( ако е string слагаш и кавички!)
изобщо от тук нататък вариани бол - прочети хелпа
form1.text31.text=rs!DO - записва информацията в полето
rs.close
d.close
Re: Access Помощ
ето го модула които си направих :
Sub TesttextBox()
Dim d As Database, rs As Recordset
Set d = CurrentDb()
Set rs = d.openrecordset("query1", dbopendynaset)
rs.MoveFirst
form1.DO1 = rs!DO
rs.Close
d.Close
End Sub
просто искам - от query1 стойността на полето DO да се копира или прехвърли или присвои в form1 полето DO1, но нестава с това горе, кажете как подялите да го направя това вече 4 дена само това мисля и невърви наникъде
Sub TesttextBox()
Dim d As Database, rs As Recordset
Set d = CurrentDb()
Set rs = d.openrecordset("query1", dbopendynaset)
rs.MoveFirst
form1.DO1 = rs!DO
rs.Close
d.Close
End Sub
просто искам - от query1 стойността на полето DO да се копира или прехвърли или присвои в form1 полето DO1, но нестава с това горе, кажете как подялите да го направя това вече 4 дена само това мисля и невърви наникъде
Re: Access Помощ
Извинявай за тъпия въпрос, ама викаш ли изобщо тази процедура?
сложи един бутон във формата и на свойството му On Click я извикай или просто я копирай (без първия и последния ред естествено) на EventProcedure
Sub TesttextBox()
Dim d As Database, rs As Recordset
Set d = CurrentDb()
Set rs = d.openrecordset("query1", dbopendynaset)
rs.MoveFirst
msgbox "Стойността на DO e: " & rs!DO ' за проверка
form1.DO1 = rs!DO
rs.Close
d.Close
End Sub
сложи един бутон във формата и на свойството му On Click я извикай или просто я копирай (без първия и последния ред естествено) на EventProcedure
Sub TesttextBox()
Dim d As Database, rs As Recordset
Set d = CurrentDb()
Set rs = d.openrecordset("query1", dbopendynaset)
rs.MoveFirst
msgbox "Стойността на DO e: " & rs!DO ' за проверка
form1.DO1 = rs!DO
rs.Close
d.Close
End Sub
Re: Access Помощ
да викав я ,но дава грешка
Compile Error :
User-define type not defined
на реда d As Database
апък по долу е дефинирано защо я дава сега пък тази грешка ?
Compile Error :
User-define type not defined
на реда d As Database
апък по долу е дефинирано защо я дава сега пък тази грешка ?
Re: Access Помощ
иди на Tools->references и виж дали има отметка на Microsoft DAO 3.6(3.5) object library. Ако няма - сложи я и за всеки случаи направи следното
dim d as DAO.database, rs as DAO.recordset
dim d as DAO.database, rs as DAO.recordset
Re: Access Помощ
сега пък ми дава тази грешка
Run-time Error 3061
в този ред :
Set rs = d.OpenRecordset("query1", dbopendynaset)
как да се справя и с това? направо сам на прага да се откажа ако не беше ти
Run-time Error 3061
в този ред :
Set rs = d.OpenRecordset("query1", dbopendynaset)
как да се справя и с това? направо сам на прага да се откажа ако не беше ти
Re: Access Помощ
Намери си книжка да четеш -- да се учиш във форумите е мъка.
По-добре се насочи към ADO (ActiveX Data Objects)
cheers,
</wqw>
По-добре се насочи към ADO (ActiveX Data Objects)
cheers,
</wqw>