Another project, which uses the capabilities of the MVD's sqlite interpreter, allows typing + <ENTER> with the execution of SQL commands in real time. The command inputs are stored and can be navigated using the up and down arrows, avoiding retyping.
The "Zoom" form allows you to type and view SQL instructions that occupy more than one line. When you exit with "ESC", the instructions are transferred to the line that executes them with ENTER. The "Help SQL" form displays the syntax of the main commands, and new ones can be entered. Perhaps it could be used as support in sqlite classes. I don't know what name I could give it. Any improvement is welcome.
26 2025-11-19 23:07:12
Topic: Real-time SQL typing and execution (0 replies, posted in General)
27 2025-11-17 20:41:34
Re: Image display (22 replies, posted in General)
Page navigation has been added.
Inaccuracies, including mine, have been corrected.
Errors are possible.
Hi Sparrow! I tested the "delete" button and the page advance. Everything is working perfectly. It's fantastic! Other users will certainly be happy with this too. Thank you very much. Thanks also to K245 for being the author of this project.
28 2025-11-16 10:04:42
Re: Image display (22 replies, posted in General)
Hi Roberto
I don't think Konstantin couldn't fix it. It's his brainchild, like many other interesting projects. As he himself writes, the project turned out to be quite complex and large. During and after his work on it, it was rethought. Perhaps it will evolve into something else as a sequel.
Besides, there are internet issues.
Konstantin describes all projects in sufficient detail to teach others. But it doesn't always find user feedback due to the programming style, which is difficult for beginners. But you have to study.
I know there are some flaws, some inaccuracies, and some unfinished parts of the program.
I'll see what can be done.Google translate.
Hi Sparrow, I want to clear up a misunderstanding. I think k245 has a lot of technical expertise to make the corrections to the project. What I meant was that he might not have the time available. Regards.
29 2025-11-15 18:32:08
Re: Image display (22 replies, posted in General)
Hi Roberto
Go to " RELEASE\Script\VClass\ImageEdit " and replace the file with this one.
Dear Sparrow, I have another request regarding the photo album created by K245. I don't want to abuse your willingness to always help when possible. You solved a problem, and I think K245 wasn't available to do this, but I thank you both. If possible, could you make the "delete" button on the home screen work? I don't know how to do this given the complex and efficient code created by K245. My knowledge of MVD was entirely acquired through the forum. I also ask, if possible, to include page advance on the home screen. K245 himself said that this didn't yet exist in the project. It's okay if you can't fulfill my request. What I've done so far is translate all the comments and captions into Portuguese and include the close button (sometimes hidden) on some screens, so that it's possible to close them simply with "escape". I used the MVD 5.6 form editor, but without compiling the project, keeping the execution through the executable (MVD 6.5) provided by k245. Regards.
30 2025-11-14 18:28:04
Re: Где кто? (16 replies, posted in Russian)
While most systems rely on storing data, which must be organized into interconnected tables, processing that data, and generating reports (summaries, graphs, etc.), MVD, which does this splendidly and very easily, will remain relevant for a long time!
31 2025-11-13 19:32:50
Re: Image display (22 replies, posted in General)
Hi Roberto
Go to " RELEASE\Script\VClass\ImageEdit " and replace the file with this one.
Hi Sparrow, it worked!! Thank you so much!
32 2025-11-12 16:26:56
Re: бавно търсене при голям брой записи (2 replies, posted in Script)
I have a table with 32,000 Service Orders that is linked to a table with 13,000 clients. Accessing the service orders of a specific client was very time-consuming. In the "Service Order List," I added a button to call a small form containing a table grid with the IDs and names of the clients, where I can search by name or ID. When the client is found (it's very fast), the form closes, and the ID of the selected client is placed in the search field of the "Service Order List" form, which performs the search automatically. Everything solved in fractions of a second!
33 2025-11-12 16:00:46
Topic: How to confirm if a record has been deleted (0 replies, posted in General)
I confirmed that the selected record in the tablegrid was successfully deleted using the button.
procedure frm_help_sql_btn_del_OnAfterClick (Sender: TObject);
begin //*** Proc 1370 - confirma se deleção foi bem sucedida
if frm_help_sql.TableGrid_instrucoes.SelectedRow = -1 then
begin
frm_help_sql.Edit_instrucao.Clear;
frm_help_sql.Memo_ajuda.Clear;
frm_help_sql.chk_alterado.Checked := false;
end;
end;34 2025-11-07 17:33:25
Re: Tic-Tac Game on MVD 5.6 (13 replies, posted in General)
- Minor bug fixes.
- Button layout changed.
- Color identification added.
- Ability to select numbers from the keyboard (1..9) or (q,w,e,a,s,d,z,x,c).
- Tested with version 5.6.
- Sqlite.dll replaced with a newer version, file attribute set to ReadOnly (for future use with the solver).
- 250 of 509 recorded levels tested (thanks to Roberto). No errors.
Hi Sparrow! Congratulations!!! I completed a game and was able to test all the features. Everything worked correctly:
- The highlighting of identical numbers,
- The "pencil mode" annotations and the logic involved,
- The blocking of "wrong" number insertion and the highlighting of these errors in red.
It turned out great. I'll try importing the remaining 3 million Sudoku games later, of which I've already imported the 500 that are in the project. Thank you for your effort and the final result. Thanks also to Derek for his participation and contribution.
35 2025-11-06 16:08:10
Re: Tic-Tac Game on MVD 5.6 (13 replies, posted in General)
Hi Roberto, Sparrow,
You first need to click on a number (1-9) and then click in the cell where you want to place that number. Perhaps you are trying to do it the other way round?
Similarly, if you want to place "possible" numbers, first click on a number (1-9), then click on the 'pencil' and then click in the cell(s) where you want to place that "possible" number (it's a really neat feature).
Thanks,
Derek.
Hi Sparrow, I managed to start testing with the steps you provided. I missed the highlighting of identical numbers when a number is selected (see attached photo). I've never used the "pencil mode" note-taking system (I learned to do sudoku on paper...) and I think the logic you used to make this option available must have been very complex! But I'll still test this feature and come back here to give feedback. I noticed that when trying to enter a "wrong" number, the application highlights in red that the number already exists...
36 2025-11-06 14:35:04
Re: Tic-Tac Game on MVD 5.6 (13 replies, posted in General)
Hi Derek, Roberto
Early version.
To be continued. Errors are possible.
Bugs and suggestions are welcome.
Hi Sparrow! I tested the project with MVD 5.6, but I couldn't select the cells or enter any numbers... What am I doing wrong?
37 2025-11-02 20:37:19
Re: Image display (22 replies, posted in General)
Check out my project "Family Album". To speed things up, for each image, I create a thumbnail that is displayed in a grid. I use the tag system to search.
Hi K245! I really liked your Family Album project! I encountered a problem, which I'll show in the attached photo. The first time an image is edited, when the user wants to change the mini-photo that will be displayed on the home screen, everything works correctly. If the user enters the same screen a second time, the frame displaying the mini-photo disappears. The only way to solve this is to restart the application. I tried to identify which part of the script this happens in, but my knowledge of MVD is not yet sufficient. I would appreciate it if you could fix this part.
38 2025-10-31 17:30:16
Re: Scanner (17 replies, posted in General)
Hi, Sparrow!
I used TImage capabilities to scale the image. See the "Family Album" project (script folder "ImageEdit")
https://k245.ru/software-ru/is-ru/semejnyj-albom-2.html
You may need two copies of the image: one for display on the desktop (visible) and one for scaling/re-sizing etc. (hidden).
Hi K245! I really liked your Family Album project! I encountered a problem, which I'll show in the attached photo. The first time an image is edited, when the user wants to change the mini-photo that will be displayed on the home screen, everything works correctly. If the user enters the same screen a second time, the frame displaying the mini-photo disappears. The only way to solve this is to restart the application. I tried to identify which part of the script this happens in, but my knowledge of MVD is not yet sufficient. Also, my MVD version is 5.6. I would appreciate it if you could fix this part.
39 2025-10-28 16:41:38
Re: Как по клику по записи в одной таблице показать связанную в другой (6 replies, posted in Russian)
Attached is the file Derek sent again, now in RAR format. See if you can download it.
40 2025-10-26 17:50:13
Topic: Speeding up queries in Sqlite with "SQL Views" (0 replies, posted in General)
In the project contained in the topic below, I included the following procedure for creating "SQL Views" and changed parts of the script, as follows. The form opening time (attached photo) increased significantly. The slowdown was due to the query's main table containing 32,000 records.
https://myvisualdatabase.com/forum/view … hp?id=8659
procedure create_views_ano_mes;
begin //*** Proc 1364 - cria view se não existir
if sqlexecute('SELECT name FROM sqlite_master WHERE type="view" AND name="view_ano"') = '' then
SQLExecute('CREATE VIEW view_ano AS '+
' select distinct strftime("%Y",tbl_orderm_servico.entrada) as ano '+
' from tbl_orderm_servico order by 1 desc ');
if sqlexecute('SELECT name FROM sqlite_master WHERE type="view" AND name="view_mes"') = '' then
SQLExecute('CREATE VIEW view_mes AS '+
' select distinct strftime("%m",tbl_orderm_servico.entrada) as mes '+
' from tbl_orderm_servico order by 1 ');
end;I changed the previous section:
frmOverview.cbo_ano.dbSQLExecute('select strftime("%Y",tbl_orderm_servico.entrada) as ano from tbl_orderm_servico group by ano order by 1 desc');
frmOverview.cbo_mes.dbSQLExecute('select strftime("%m",tbl_orderm_servico.entrada) as mes from tbl_orderm_servico group by mes order by 1');for:
frmOverview.cbo_ano.dbSQLExecute('select ano from view_ano');
frmOverview.cbo_mes.dbSQLExecute('select mes from view_mes');41 2025-10-25 21:04:28
Re: how to speed up Combo box population linked to a parent combo box. (6 replies, posted in General)
For large data sets, I abandoned the combobox,
replacing it with two components: an input field (to display the selected value) and a button (to display the reference form). Of course, you will need scripts, examples of which can be found in this project.
https://k245.ru/en/mvdb-en/light-filtered.html
Hi k245! You're right! I have a form with a combo box that retrieves data from a table with 13,000 records, which makes the form very slow to open. I used the text box and a button next to it to retrieve the information from another form and fill in the text box, which made everything much faster.
42 2025-10-21 00:06:31
Re: Increasing access speed (5 replies, posted in General)
Hi Roberto
I'm even starting to wonder what's going on with your app and Windows.
In all my time working with MVD, I've never had to optimize SQLITE parameters. Using indexes – yes.
For example, my work program contains over 100,000 records spanning nine years. In another case, the database of a closed forum contains over 5 million records in just one table (the database is over 8 GB). In both cases, indexing is used, but all other parameters are set to default. There have been no issues. I specifically reconfigured the last database to version 5.6 and ran it from the c: drive, as you described. I also ran an antivirus scan, alternating it with copying another large database to the c: drive. Running it with and without SUBST was no different. My computer is modest by today's standards, but it has 16 GB of memory, which is sufficient for my work.
As for SUBST, the program is quite modest and doesn't do anything special. But while it's running, the system limits some of its disk and file management functions.
What can critically slow down your program? Antivirus software, downloading and installing system and antivirus updates. Intensive pagefile processing with a large number of loaded processes and programs and insufficient RAM. Errors with certain drivers or disks. And so on. All these and many other things have a higher priority and can slow down user programs. Check the system log for critical errors. Launch Task Manager during the slowdown. Pay attention to the CPU, disk, and memory usage graphs (RAM and pagefile separately). Look at the currently active processes actively using resources. Check your SmartDisk statistics.
The results after SQLITE optimization indicate that there are issues with indexing and generated queries to a database with only 11,000 records. Furthermore, the parameters you're using can lead to data loss and file corruption during computer crashes. Review your code again to ensure your queries are written correctly. Check their execution using SQLiteStudio for runtime and execution analysis (explain), especially various JOINs. This can help optimize the database, indexes, or the queries themselves. Make sure to close all TDataSets when processing queries if you use SQLExecute.
I'm in no way defending MVD. It's not a sacred program.
Hi Sparrow, I made some changes to the Windows 11 settings below, installed and ran Microsoft's freeware PC Manager—I recommend it to everyone—and it worked!!! Now the execution speed, which is much faster, is the same with or without "Subst."
I kept only the "Pragmas" that don't damage the database.
* In visual effects, I chose "Adjust for best performance."
* In virtual memory, I enabled "Automatically manage paging file size" and "System-managed file size."
Thanks for pointing out the problem, which prompted me to look for a solution. Anyway, if I ever encounter a slowdown on an end-user's machine and Windows optimization isn't possible, using "Subst" might be an alternative.
43 2025-10-19 18:24:57
Re: Increasing access speed (5 replies, posted in General)
Hi Roberto
I'm even starting to wonder what's going on with your app and Windows.
In all my time working with MVD, I've never had to optimize SQLITE parameters. Using indexes – yes.
For example, my work program contains over 100,000 records spanning nine years. In another case, the database of a closed forum contains over 5 million records in just one table (the database is over 8 GB). In both cases, indexing is used, but all other parameters are set to default. There have been no issues. I specifically reconfigured the last database to version 5.6 and ran it from the c: drive, as you described. I also ran an antivirus scan, alternating it with copying another large database to the c: drive. Running it with and without SUBST was no different. My computer is modest by today's standards, but it has 16 GB of memory, which is sufficient for my work.
As for SUBST, the program is quite modest and doesn't do anything special. But while it's running, the system limits some of its disk and file management functions.
What can critically slow down your program? Antivirus software, downloading and installing system and antivirus updates. Intensive pagefile processing with a large number of loaded processes and programs and insufficient RAM. Errors with certain drivers or disks. And so on. All these and many other things have a higher priority and can slow down user programs. Check the system log for critical errors. Launch Task Manager during the slowdown. Pay attention to the CPU, disk, and memory usage graphs (RAM and pagefile separately). Look at the currently active processes actively using resources. Check your SmartDisk statistics.
The results after SQLITE optimization indicate that there are issues with indexing and generated queries to a database with only 11,000 records. Furthermore, the parameters you're using can lead to data loss and file corruption during computer crashes. Review your code again to ensure your queries are written correctly. Check their execution using SQLiteStudio for runtime and execution analysis (explain), especially various JOINs. This can help optimize the database, indexes, or the queries themselves. Make sure to close all TDataSets when processing queries if you use SQLExecute.
I'm in no way defending MVD. It's not a sacred program.
Hi Sparrow, my laptop is a Lenovo Ideapad 310-15ISK, with a 5th-generation i5 processor, 12GB of RAM, a 256GB SSD, and a 1TB HDD connected to the optical drive port. It's old, but my brother gave it to me. Thanks for the feedback. I'll investigate and post the results later.
44 2025-10-18 21:22:44
Re: Increasing access speed (5 replies, posted in General)
may be this post can help.https://myvisualdatabase.com/forum/view … hp?id=8782
Hi, thanks for the information. I read the recommended post and ran some tests, but I think my access speed is still faster with the tip I posted.
I also included in the script:
SQLExecute('PRAGMA read_uncommitted = true;');
SQLExecute('PRAGMA journal_mode = MEMORY;');
SQLExecute('PRAGMA synchronous = OFF;');
SQLExecute('PRAGMA temp_store = MEMORY;');
SQLExecute('PRAGMA cache_size = -8000;');
SQLExecute('PRAGMA mmap_size = 268435456;');
SQLExecute('PRAGMA optimize;');
EXPLANATION OBTAINED ON THE INTERNET FOR INCREASING SPEED WITH THE USE OF A VIRTUAL UNIT
Subst sped up its MVD application because it eliminated the overhead of antivirus, permissions, and long path resolution, and because SQLite now uses exclusive caching and direct access to the virtual volume.
The 20s to 3s gain is consistent with this optimization—and shows that the I/O lens was outside of its code, not inside the MVD.
45 2025-10-16 00:16:03
Re: язык программирования Object Pascal, который мы используем (5 replies, posted in Russian)
Testimonial from someone looking for documentation:
I also looked for MVD documentation at first. Although, as Derek said, the information on the forum isn't structured like conventional documentation, the number of threads, member responses to other members' questions, countless example projects, tips, etc. surpass any documentation if it were to have one. Furthermore, the developer Dmitry himself produced a PDF and HTML tutorial with excellent explanations of MVD commands and functions, in addition to answering questions and providing several project examples. I organized myself by downloading these projects and copying script snippets into an MVD database. If I can't find information in the forum, I check my database. If I can't find it, I ask the question in the forum, and 99% of the time, it's answered.
46 2025-10-15 23:34:53
Topic: Increasing access speed (5 replies, posted in General)
I want to share an experience and knowledge I gained today.
I have an application in MVD that contains 10,000 records in one of the various tables and SQL views. It spans an 11-year period.
I've noticed a significant slowdown lately, even running on Windows 11 on a 256 GB SSD.
I created indexes, activated "PRAGMAS," vacuumed... but nothing worked.
When I ran the application on a virtual drive created with - subst v: "c:\mvd_project\application.exe" - I was surprised to see that access speed increased 10x or more.
I don't know the explanation. Perhaps Windows file management is interfering with the performance of MVD 5.6. Well, I solved my problem, and here's my report.
47 2025-10-10 18:53:08
Re: Tic-Tac Game on MVD 5.6 (13 replies, posted in General)
Sudoku game in MVD 5.6. I downloaded a file from https://www.kaggle.com/, containing 3 million or more Sudoku puzzles. I included 500 in the sqlite.db. Any improvements are welcome.
48 2025-10-08 16:32:44
Re: Trendline on Bar Chart (MVD 5.6) (14 replies, posted in General)
Hi Roberto
To celebrate the move and getting internet, we'll release the final graph examples. ))) With new charts, of course.
Hi Sparrow, congratulations! It's really good! If I don't find a solution on the forum, I won't ask ChatGPT, Gemini, or Copilot (all free versions) anymore. I'll ask you... and I'll be without internet more often... just kidding. Hugs
49 2025-10-07 15:11:04
Re: Trendline on Bar Chart (MVD 5.6) (14 replies, posted in General)
Hi Derek,
thanks.Another version of the example. This example differs in that the x-axis is represented as time. Since the sampled time intervals in our example are uneven, this example should, in theory, be the correct representation of time. But as physicists say: Everything depends on the observer's frame of reference. So, the example is a matter of personal preference. The calculations have changed slightly. The x-axis labels can be customized. See the comment in the script.
I'd be happy if the examples are useful in your work.
Hi Sparrow, as I mentioned in another thread, I moved and was without internet for a few days. Congratulations on improving the Trend Curve. It's really good! Congratulations to everyone for dedicating some of their time to improving other users' projects, answering questions, and contributing to the growth of the forum and the learning experience of all who love MVD!
50 2025-10-07 14:52:56
Re: Tic-Tac Game on MVD 5.6 (13 replies, posted in General)
Hi Derek, Roberto
Interesting and varied solutions.
I made some minor changes to Roberto's code:
- removed unnecessary parts
- optimized some procedures
- underline winning sequences
- draw message
- highlight the player on the current move.I don't think there's any point in playing against the "Computer." Children will quickly lose interest in the game.
As for Sudoku, the algorithm can be found in the book "Book Title: Programming Sudoku Authors: Wei-Meng Lee." The code in the book is written in Visual Basic 2005. You can also find excerpts and analyses of the book and other articles online. If you're only interested in a computer-assisted solution, there's a solution in SQL.
Hi Sparrow and Derek! It took me a while to respond because I moved and had no internet. Thanks for your contributions. I'm finishing a Sudoku project and will post it on the forum when I'm done. I decided to do TicTac and Sudoku to pass the time, learn more about MVD, and exercise my brain.



