Hello Anakin
To answer your question (buddy in a state) you will find in PJ
a doc file that I made from a response from Dmitri.
This is the step-by-step process to get what you want.
It's in French, but with Google Translate, you can adapt it (and everyone else) into your native language.
Good luck and come back to us if something gets stuck.
Is your photo already declared in your database?
J.B.

Hello kavinacomputers

1 - If your form from which you are going to edit an invoice is complete (purchase cost, VAT, total cost, VAT detail, etc.) you place a button with Action Report; as a Dataset you declare your database and you personalize your invoice as you wish (logo, grid, images, etc.), you test in preview mode and when you are satisfied you save it under the name of your choice with the extension .fr3.
Knowing that you can always come back to it to modify it.
2 - As basic examples you can consult almost all of them, especially Customer Invoice.
Come back to us if you're stuck.
But the old grump in me will always tell you to first plan your project with a paper and a pencil. For a somewhat complex project, I rarely go directly into the computer. Then you transpose in MVD.
And browse the forum, there are surely examples involving invoices.
Good luck
J.B.

Hello kavinacomputers

Welcome to VD !
Go to the Homepage and click on Database example
I see at least 2 examples that you could initially benefit from.
Then come back to us to go further.
Good luck
J.B.

4

(12 replies, posted in General)

Hello Sparrow
Very impressive !
Thank you for coming back with new features.
Very instructive.
Thank you so much
Kind regards
J.B.

5

(12 replies, posted in General)

Hi Sparrow
It works perfectly.
Your new code is terribly effective.
I thank you again
Good luck at home!
Kind regards
J.B.

6

(12 replies, posted in General)

Hello Sparrow
But when I went online to find the correct calculation formula, I noticed some discrepancies. In addition, I did not take into account insurance costs, I only took into account interest at a constant rate. But as it suited my friend as it was, I didn't go any further.
By the way, a question: in your SQLQuery code, is it possible to intersperse values contained for example in a TEdit?
You have to explain: you initially defined a sum of €100,000 as the amount of the loan. This amount comes up frequently in your code. Is it possible to ensure that the value of this sum is replaced by the one that the user enters in the TEdit? Same thing for the value of the annual rate?
Thank you for your answers
Cordially
JB

7

(12 replies, posted in General)

Hi Sparrow
Sorry, my question doesn't make sense.
I hadn't read the header of your code (loan borrowed =100000) and rate =10
Thanks again
J.B.

8

(12 replies, posted in General)

Hi Sparrow
It's exactly what I expected.
One question: why we don't have the same value for monthly repayment:
€302.99 for me and €936.64 for you (whether with Example Script or Example SQL)
and this even if I don't use the Round?
JB

9

(12 replies, posted in General)

Hello everyone
At the request of a friend who wanted a simple application to know
the amount of the monthly payments of his loan, I made this application to him (MVD 6.1).
Everything is fine, MVD does the job (see attachment).
Now my friend would like me to add the amortization table for these calculations.
Now I'm having trouble getting there.
I was thinking of using a DbGrid to display the data (Sequential number of monthly payments, Monthly payment, decreasing loan amount, decreasing interest amount and balance)
My problem: as I am not using a table, I cannot fill in the Table and Fields fields.
My question: does MVD allow you to fill a grid with values other than those of a table and if so how to achieve this?
If not, I would go with Delphi 7 or Lazarus.
Thank you in advance for your opinions
J.B.

10

(11 replies, posted in General)

Hello Keith
You can use this link : https://k245.ru/en/mvdb-en/last-beta-2.html
JB

11

(4 replies, posted in General)

Hello ms2014m, Hello K245

You could see this code (sent by Berian Zabella)
Se in attachment
JB

12

(4 replies, posted in General)

Hello TCoton
I have the same type of license as you and I don't get any error messages when compiling a project (version 6.6.1).
Ultimately, you uninstall MVD and reinstall it (without forgetting to clean the registry, that's where the license is).
To do this properly in a single pass, I use GEEK (free version) which does the job perfectly.
Its link: https://geekuninstaller.com/download?version=1.5.2.165
JB

13

(11 replies, posted in General)

Salut Destiny
Je me suis gouré.
Je travaille avec la version 6.6.1 beta
JB

14

(11 replies, posted in General)

Hello Atropa,
There will most likely be no new MVD releases.
Dmitri, its creator, now works in the web field.
According to the latest news I had with him by email, it is not his intention to continue developing MVD, which all users strongly and rightly regret, me first and foremost.
MVD is such a fabulous and promising tool that it is a shame that no one can add new functions to it that would be very useful to us.
But we must admit that even with the latest version (6.1.1), we can carry out superb projects with a high degree of complexity.
But that's how life goes, even if I cross my fingers and say: "Dmitri, come back to MVD again."
JB

P.S.: I would love to be wrong!

15

(4 replies, posted in General)

Hello

What do you mean by 'move old bases'?
Can you show us the error messages that appear?

JB

16

(12 replies, posted in General)

Helo Derek

All is now OK with my projetc.

Selection of dates to archive -> OK
Check the dates to archive -> OK
Archiving of the selected year (I archive year by year) -> OK
For the current year, I add in the first line the
last year's balance -> OK
and what you feared did not come true, the balance is correct -> OK

So, I deleted the TFlage field which was no longer useful to me, I didn't use it in my new version -> OK

Very satisfied, the project is fully operational.
Thank you very much again for your effective help as usual.
Besides, on the Splash screen (Author Icon), I took the liberty of mentioning your name.
Sincerely
J.B.

17

(12 replies, posted in General)

Hello Derek
How are you ?

I think I found the solution to my problem

1 - I left Action = Delete Record behind button 21 (PURGE). I deleted it
2 - I modified the code for purging the Purge button: (Action OnClick)

procedure Form1_Button23_OnClick(Sender: TObject; var Cancel: boolean); // Once the spreadsheet is closed, we delete the checked lines
Var IRow, vcount: Integer;
begin
      vcount := 0;
       For vi := 0 to Form1.Tablegrid1.RowCount -1 do
       begin
          SqlExecute('Delete From Transactions Where id = "'+IntToStr(Form1.Tablegrid1.dbIndexToID(vi))+'"');
          vcount := vcount+1;
       end;
          Form1.TableGrid1.dbUpdate;
          ShowMessage(IntToStr(vcount) + 'archived lines');
end;

At first glance, this seems to have solved my problem.
What do you think ?
Sincerely
J.B.

18

(12 replies, posted in General)

Hello Derek
Thank you for your answer.
From the elements communicated, I took over the Archiving part of the
banking program while simplifying it in the process.
1 - I choose an account (here Common Current Account).
2 - I click on the 'Archiver les données' menu.
3 - The 'Archivage' panel is displayed with two DTPs and 3 icons. I choose the Start dates
        and End of desired archiving period.
4 - I click on the magnifying glass and the matching lines are displayed. I check them automatically.
4Bis - Eventually I can send them to Excel in order to save this archiving on disk.
        Useful when you want to save an entire year.
5 - I click finally to purge the base of these checked lines.

Until step 4Bis everything works perfectly. I get the desired result.
The problem lies in step 5. Instead of offering me a global deletion in one shot of
all the lines selected (as in your example), the project only offers me a line by line deletion
with deletion confirmation message for each line.

However, I used (practically copied/pasted) instructions from your example.
But there, I'm drying up.
Did I miss an instruction?
Aren't TFlags applied to all the lines you want?
I admit that I don't see where the wolf is.
If you can be so kind as to take a look, I'll thank you in advance.
Sincerely
J.B.

19

(12 replies, posted in General)

Hello Derek, how are you ?

Thank you for your answer.
It works perfectly.
As I like with MVD (it's exhilarating) also finding my own solutions
without always asking others, I am looking for the
mine.
Here's what I'm testing:
1- Two DateTimePicker (Start Date and End Date: for example: 01/01/2023 to 31/12/2023).
2- From these two dates, selection of transactions between these two dates
(via SEARCH, dbSQLExecute or SearchQuery).
3- Display in the MVD grid of only these selected transactions.
4- These transactions are checked
5- Display of transactions in Excel (or even save to disk).
6- Deletion of these transactions in MVD.
7- To maintain the correct balance, addition of a first line of the new grid with the new
starting balance (which will be that as of 131/12/2023).

From this pseudo code I should achieve the same result as that of your proposal.
What do you think of this approach which seems quite simple to me?
Thanks again
JB

20

(12 replies, posted in General)

Hello Derek, how are you ?

Thank you for your answer.
It works perfectly.
As I like with MVD (it's exhilarating) also finding my own solutions
without always asking others, I am looking for the
mine.
Here's what I'm testing:
1- Two DateTimePicker (Start Date and End Date: for example: 01/01/2023 to 31/12/2023).
2- From these two dates, selection of transactions between these two dates
(via SEARCH, dbSQL or SearchQuery).
3- Display in the MVD grid of only these selected transactions.
4- These transactions are checked
5- Display of transactions in Excel (or even save to disk).
6- Deletion of these transactions in MVD.
7- To maintain the correct balance, addition of a first line of the new grid with the new
starting balance (which will be that as of 131/12/2023).

From this pseudo code I should achieve the same result as that of your proposal.
What do you think of this approach which seems quite simple to me?
Thanks again
JB

21

(12 replies, posted in General)

Hello Derek, how are you?
I created an application with MVD from a skeleton of
one of your projects (the management of family accounts).
I arranged it to my liking and it works very well.
I wanted to add a new function: archiving of the year
former. For this I set up one of your projects which would be suitable
very good at this new approach (CheckBox As Filter).
It functions in its essential role: removing checked lines from the database.
But what bothers me is that when I click on the 'PURGE' button
(I've called it 'ARCHIVAGE'), it does not show me the grid having only the lines
checked (whether I use button B4 or button 21). As a result, the Excel sheet is not displayed
not either, which will allow me to save the past year in XLS form).

For example, let's say I want to archive the period from 02/09/2023 to 02/21/2024.

1- I choose 'Compte courant communt' from the 'Les Comptes' menu on the left. The grid is displayed with all transactions.
2- I click on the 'Archivage des données' menu. Panel 13 is displayed
3- I check the relevant dates on the grid
4- From this panel I click 'Filtrer les opérations'. An action already occurs instead of checking this option. Strange !.
5- The grid does not show me only the selected lines as in your example from which I took inspiration.
6- As a result, the Excel sheet is not displayed which would allow me to save this selection as an archive.
7- On the other hand, the work of deleting the selected lines is done well.

No matter how much I look at the solution from every angle, I end up seeing nothing.
I would need your insight: your example works very well, but for me, there is something wrong somewhere.

May I allow myself to submit my project to you because I don't see where the problem lies.
Thanks don't advance

JB

22

(12 replies, posted in General)

Hello Derek
Thank for your answer
An email address where I can send my project ?
Thanks in advance

JB

23

(12 replies, posted in General)

Hello Derek
Can I send you a request for help by PM?
Thanks in advance
JB

24

(7 replies, posted in General)

Hello Derek, Hello Vladimir
Thanks for your answers.
Derek :
I was so obsessed with this error message and what it was hiding that I forgot that the TEdit in question had an activity (OnChange) and that it prevented the field from being reset.
Thanks again.
JB

25

(7 replies, posted in General)

Hello Vladimir, Hello Sparrow

All my excuses !
it should be better like this
Thanks
JB