QSL needed

3 posts / 0 new
Last post
QSL needed

Why does CQ monitor show NA:QSL needed!! for Canada when the DXCC statistics in new QSO shows QLE on nearly every band I've worked Canada on?

I would also like to know what SQL statement is used for that DXCC statistic.



QSL needed

Hi Stan!

As said in help, CQ-monitor compares station call against your log entries.

CQ-monitor uses this result:
msgRes := dmDXCC.DXCCInfo(adif, freq, CurMode, i); //wkd info

from this function:
function TdmDXCC.DXCCInfo(adif : Word;freq,mode : String; var index : integer) : String; // zjisti jestli je o nova zeme, nova zeme
var // index : 0 - Nepotrebujes QSL (neznama zeme, potvrzena)
// index : 1 - Potrebujes QSL (nova zeme, nova na pasmu, modu)

So it is based on country derived from callsign (=adif), current frequency and mode.

"NA:Qsl needed" means that you do not have any log entries from NA in that frequency and mode that are marked as "Qsl received".

You may have worked a lot in to log , but how is the "qsl_r" column ?
Or if lotw is set how is the lotw_qslr?

If we dig into DXCCInfo the sql command have 2 possibilities:

Depending on setting:
lotw := cqrini.ReadBool('LoTW','NewQSOLoTW',False);

That one you set with: perferences/LoTW/eQSL support/ Use LoTW and eQSL confirmed countries fro New Country or New band etc. info checkbox

They may be:
if lotw then
Q.SQL.Text := 'SELECT id_cqrlog_main FROM cqrlog_main WHERE adif='+
sAdif+' AND band='+QuotedStr(band)+' AND ((qsl_r='+
QuotedStr('Q')+') OR (lotw_qslr='+QuotedStr('L')+')) AND mode='+
QuotedStr(mode)+' LIMIT 1'
Q.SQL.Text := 'SELECT id_cqrlog_main FROM cqrlog_main WHERE adif='+
sAdif+' AND band='+QuotedStr(band)+' AND qsl_r='+
QuotedStr('Q')+ ' AND mode='+QuotedStr(mode)+' LIMIT 1';


Cqrlog is open source and those things can be found from source code. Yes! I know if you are not familiar with programming it can be hard.
But on the other hand pascal is more or less English and lot more easier to read than some other programming languages.

If you need to know what a button or checkbox does. Load source code to Lazarus GUI, open from in question and click the button or checbox and see from component browser what kind of actions is connected to that one and following them they lead you to right place of pascal source where you can see what that action in question does.

So lot more easier for you than me as Finnish speaking. And believe it or not in that way I have cleared for myself how cqrlog works (I still do not understand every part of it).

The easier way is to ask here :-), but that may leave some questions unanswered.


QSL needed

Hi Saku!

Thanks for the detailed reply.

I ran this SQL statement, probably and easier way but I was reusing/modifying one I already have, and found all of the Canada Q's either have a Q in the qsl_r field or it's blank. The lotw_qslr field is blank for all of them. Now I see why it says QSL needed!

select qsodate, callsign, band, qsl_s, qsl_r, lotw_qsls, lotw_qslr, dxcc_id.country from cqrlog_main left join dxcc_id on cqrlog_main.adif = dxcc_id.adif where lotw_qslr='' AND dxcc_id.country = 'Canada';