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.Name, acTextBox, , "", "", _ intDataX, intDataY) ' Create child label control for text box. Set ctlLabel = CreateControl(frm.Name, acLabel, , _ ctlText.Name, "NewLabel", intLabelX, intLabelY) ' Restore form. DoCmd.Restore End Sub
Hmmm.....det virker fint når jeg tager koden som den er, men jeg har en eksisterende form som hedder "Errorlist", det er på denne jeg vil lave felterne....
Og den kommer med en fejl hele tiden når jeg forsøger at henvise til min form, nogle gode ideér.
Problemet som jeg ser det, er antageligt, at du ikke kan aktivere designmode for den pågældende formular ... jeg går ud fra, at din kode ser nogenlunde således ud :
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 = Form_Errorlist
'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.Name, acTextBox, , "", "", _ intDataX, intDataY) ' Create child label control for text box. Set ctlLabel = CreateControl(frm.Name, acLabel, , _ ctlText.Name, "NewLabel", intLabelX, intLabelY) ' Restore form. DoCmd.Restore End Sub
Jeg arbejder lidt videre, og vender tilbage ... med mindre andre komme med et forslag
Jeg har ikke selv benyttet fremgangsmåden før, men så vidt jeg kan tolke, kan du vist ikke både aktivere designmode og samtidig fortsætte afviklingen af programkoden fra een og samme formular ... muligvis kan det lade sig gøre, hvis du vælger at indsætte en underformular ... ( bare en idé ) ...
fdata > det kunne man godt hvis det hele var statisk, men det skal være dynamisk, dog jeg jeg fundet er flow som gør at den dannerformen i design mode, hvorefter den lukker den ned igen bagefter....det er ikke færdigt endnu, men det skal nok lykkes...
men det startede med jensen363 kode, så lidt point til dig ;-)
Set ctlText = CreateControl(frm.Name, acTextBox, , , , vPos, tPos, Bred, Høj) ctlText.Properties.Item("name") = "Tb" & I
Next I
DoCmd.Close acForm, "Formular4", acSaveYes
End Sub
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.