[ dimitt @ 11.11.2004. 23:03 ] @
Kod treba da u formi kreira TextBox. Za početak sam to zamislio da bude u eventu buttonclick - a, mada ne mora. Šta je bitno: pokušao sam sa kodom koji je u Accessu dat u helpu, ali nešto tu nije uredu. Kod je iz helpa sledeći( s tim što sam ja komentarisao nepotrebne linije koje kreiraju formu, a takođe; moja forma se zove Form1):
Code:

Private Sub Command2_Click()
NewControls
End Sub

Sub NewControls()
    'Dim frm As Form
    Dim ctlLabel As Control, ctlText As Control
    Dim intDataX As Integer, intDataY As Integer
    Dim intLabelX As Integer, intLabelY As Integer

    ' Create new form with Orders table as its record source.
    'Set frm = CreateForm
    'frm.RecordSource = "Orders"
    ' Set positioning values for new controls.
    intLabelX = 100
    intLabelY = 100
    intDataX = 1000
    intDataY = 100
    ' Create unbound default-size text box in detail section.
    Set ctlText = CreateControl(frm.Form1, acTextBox, , "", "", _
        intDataX, intDataY)
    ' Create child label control for text box.
    Set ctlLabel = CreateControl(frm.Form1, acLabel, , _
         ctlText.Name, "NewLabel", intLabelX, intLabelY)
    ' Restore form.
    DoCmd.Restore
End Sub


Greška se javlja u liniji : Set ctlText idt.... i dojavljuje Runtime error 424 (object required)
Unapred hvala na odgovorima
[ Zidar @ 12.11.2004. 13:53 ] @
Ako hoces da na formi koja je trenutno otvorena dodas novu kontrolu, to nece moci. Access dozvoljava programsko pravljenje kontrola samo na formama koje su otvorene u Design modu. Vidi ispod dve tri teme, Mika je hteo da uradi nesto tako i Darko mu je lepo objasnio zasto to ne moze. Access nije VB i nema nista slicno control arrays i ne mogu se dodavati kontrole u run time.

Tvoja greska se javlja jer si komentovao linije Dim frm as form i 'Set frm = CreateForm. Ako ih vratis, neces dobiti ovu gresku, ali ces dobiti neku drugu, pre toga. Komentovao si mnogo linija koda, a izgleda da su to linije iz originalnog koda. Ako si pocetnik u Accessu (makar bio i guru za VB), sacekaj malo sa ovakvim projektima. Nema puno ljudi u svetu koji znaju da barataju kontrolama u run time, prave wizarde i slicno. Oni koji znaju, uglavnom su napisali knjige o tome (K. Getz, A. Browne, A. Balter, R. Jennings) ali su oni licno tesko dostupni :-) pa nema ko da ti pomogne.

Znam da ti nisam mnogo pomogao, ali sta ces, tehnologija ima svoje granice.

:-)
[ dimitt @ 12.11.2004. 23:38 ] @
Stvar je u tome da ne umem da (pametno) smislim neki drugi način za unos podataka. Naime, problem ( koji sam sam sebi postavio,po " eto tako - što da ne" modelu) je sa podatkom za koji ne znam koliko puta će trebati da se ponovi. Naprimer u sastavu jela sastojci: neka jela imaju manje a neka više sastojaka. Ako ko ima ideju, biću obaška zahvalan.
[ Simke @ 13.11.2004. 00:55 ] @
Taj problem mozes resiti koriscenjem sub form-e.
Znaci imas recimo relaciju Jelo - Sastojci.
Glavna forma pokazuje osnovne podatke o jelu, dok sub form-a (datasheet view) sluzi za unos/menjanje sastojaka i njihovo prikazivanje.
[ dimitt @ 13.11.2004. 22:15 ] @
Blagodarim!
Tako sam i rešio. Na formi "jelo" dugme "dodaj novi sastojak" otvara formu "unesi novi sastojak" koja apdejtuje tabelu sastojci.
Ipak, bez obzira, blagodarim.

[ izonic @ 21.11.2004. 00:27 ] @
Kada kreiraš formu moraš je zatvoriti .
Set frm = CreateForm
With frm
.DefaultView = 1
.NavigationButtons = False
.PopUp = True
.Modal = True
End With
DoCmd.Close acForm, m, acSaveYes
DoCmd.SelectObject acForm, m, True
DoCmd.Rename "Imeforme", acForm, m
DoCmd.OpenForm "Imeorme", acDesign, , , , acHidden
e sad joj možeš dodavati kontrole
Samo ti ovo neće raditi u MDE jer MDE ne dozvoljava kreiranje forme.
Ako ne uspiješ dordit ću ti tvoj kod.