This is the last post on this blog!
My new webpage can be found at: http://kyriakos.anastasakis.net
and my new blog: http://kyriakos.anastasakis.net/blog
This is my personal blog.
PARAMETERS [Forms]![formName]![ControlName] ParameterType;In the where clause you also have to use the same notation. So for example:
where Id = [Forms]![formName]![ControlName]and that's it!
WORKAROUND
To work around this problem, you can reload the VBA project of the Access database from text and then create the MDE file or the ADE file. To do this, follow these steps:
Note Make a backup copy of the database before you start these steps.
1. On the taskbar, click start and then click Run.
2. Type\msaccess.exe /decompile and then click OK.
Noteis the path of the folder where Access is installed.
3. Open the original .mdb file or the original .adp file that you want to save as the new MDE file or the new ADE file.
a. Press ALT+F11 to open the Visual Basic Editor.
b. On the Debug menu, click Compile.
c. On the File menu click Save, and then close the Visual Basic Editor.
4. On the Tools menu, click Database Utilities and then click Make MDE File or click Make ADE File.
5. In the Save MDE As dialog box or the Save ADE As dialog box, locate the folder where you want to save the MDE file or the ADE file, type the file name in the File name box, and then click Save.


module test
open util/ordering[Natural] as ord
abstract sig Natural{}
one sig One extends Natural{}
one sig Two extends Natural{}
one sig Three extends Natural{}
one sig Four extends Natural{}
abstract sig Symbol{}
one sig Cross extends Symbol{}{}
one sig Fi extends Symbol{}{}
one sig Blade extends Symbol{}{}
one sig Star extends Symbol{}{}
sig Cell{
symbol: one Symbol,
rowIndex: Natural,
columnIndex: Natural,
inRange: Natural
}
fact Numbers{
ord/first() = One
ord/next(One) = Two
ord/next(Two) = Three
ord/last() = Four
}
pred defineRange(row:Natural,column:Natural,r:Natural){
all c:Cell |
c.rowIndex = row && c.columnIndex = column => c.inRange = r
}
fact DefineRange{
defineRange(One,One,Two)
defineRange(One,Two,One)
defineRange(One,Three,One)
defineRange(One,Four,One)
defineRange(Two,One,Two)
defineRange(Two,Two,Two)
defineRange(Two,Three,Three)
defineRange(Two,Four,One)
defineRange(Three,One,Four)
defineRange(Three,Two,Two)
defineRange(Three,Three,Three)
defineRange(Three,Four,Three)
defineRange(Four,One,Four)
defineRange(Four,Two,Four)
defineRange(Four,Three,Four)
defineRange(Four,Four,Three)
}
pred staticSymbols(row:Natural, column:Natural, s:Symbol){
all c:Cell |
c.rowIndex = row && c.columnIndex = column =>
c.symbol = s
}
fact{
staticSymbols(One,Four,Fi) &&
staticSymbols(Two,Two,Cross) &&
staticSymbols(Four,Two,Blade) &&
staticSymbols(Four,Three,Star)
}
// No two same symbols in the same Range
fact{
all disj c,c':Cell |
c.inRange = c'.inRange =>
c.symbol != c'.symbol
}
// All cells have different rowIndex and columnIndex
fact{
no disj c,c':Cell | (c.rowIndex = c'.rowIndex && c.columnIndex = c'.columnIndex)
}
//No two same symbols in the same row Column
fact{
all disj c,c':Cell |
c.rowIndex = c'.rowIndex =>
c.symbol != c'.symbol
all disj c,c':Cell |
c.columnIndex = c'.columnIndex =>
c.symbol != c'.symbol
}
pred solution(){
#Cell = 16
}
run solution for 16 Cell