| 0344 | strElement = ""
| 0345 | Case 43, 44, 45 |
| 0346 | strElement = ""
| 0347 | Case 15, 17, 18, 23, 24, 25, 28, 29, 30, 32 |
| 0348 | strElement = ""
| 0349 | Case 42 |
| 0350 | strElement = "
"
| 0351 | Case 7, 8, 26, 27, 34 |
| 0352 | strElement = ""
| 0353 | Case 22 |
| 0354 | strElement = "" |
| 0355 | If Wiki_Lang = 0 Then |
| 0356 | If Wiki_Script = 0 Then |
| 0357 | Else |
| 0358 | strElement = "+W" & Wiki_Script & "W+" |
| 0359 | End If |
| 0360 | Else |
| 0361 | strElement = "+W" & Wiki_Lang & "W+" |
| 0362 | If Wiki_Script = 0 Then |
| 0363 | Else |
| 0364 | strElement = strElement & " ←→ +W" & Wiki_Script & "W+" |
| 0365 | End If |
| 0366 | End If |
| 0367 | 'Set up a jump table |
| 0368 | strElement = strElement & "
Lesson Jump Table
"
| 0369 | For i = 1 To 5 |
| 0370 | If i > 1 Then |
| 0371 | strElement = strElement & " | "
| 0372 | End If |
| 0373 | strElement = strElement & ""
| 0374 | For j = 1 To 10 |
| 0375 | strElement = strElement & "| " & 10 * (i - 1) + j & " | " |
| 0376 | Next j |
| 0377 | Next i |
| 0378 | strElement = strElement & " | |
" & Language & " - Lesson: 1" |
| 0379 | strLesson = "Lesson: " |
| 0380 | strTable_Saved = "
"
| 0381 | strElement = strElement & strTable_Saved |
| 0382 | Case 11, 31 |
| 0383 | strElement = ""
| 0384 | Case 12, 13, 37, 38 |
| 0385 | strElement = ""
| 0386 | Case 20 |
| 0387 | Select Case strParameter2_Local |
| 0388 | Case 1, 2, 3, 4 |
| 0389 | strElement = ""
| 0390 | Case 5 |
| 0391 | strElement = ""
| 0392 | End Select |
| 0393 | Case 21 |
| 0394 | strElement = ""
| 0395 | If strParameter2_Local > 5 Then |
| 0396 | strElement = ""
| 0397 | End If |
| 0398 | If strParameter2_Local > 7 Then |
| 0399 | strElement = ""
| 0400 | End If |
| 0401 | If strParameter2_Local = 10 Then |
| 0402 | strElement = ""
| 0403 | End If |
| 0404 | strTable_Saved = strElement 'Save for later |
| 0405 | Select Case strParameter2_Local |
| 0406 | Case 3, 4, 5, 7, 8, 10 |
| 0407 | 'Set up a jump table by lesson |
| 0408 | strElement = "Lesson Jump Table
"
| 0409 | For i = 1 To 5 |
| 0410 | If i > 1 Then |
| 0411 | strElement = strElement & " | "
| 0412 | End If |
| 0413 | strElement = strElement & ""
| 0414 | For j = 1 To 10 |
| 0415 | strElement = strElement & "| " & 10 * (i - 1) + j & " | " |
| 0416 | Next j |
| 0417 | Next i |
| 0418 | strElement = strElement & " | |
Lesson: 1" |
| 0419 | strLesson = "Lesson: " |
| 0420 | strElement = strElement & "
" & strTable_Saved |
| 0421 | Case Else |
| 0422 | 'Set up a jump table by Category |
| 0423 | strQuery2 = "SELECT Ling_English_Category_Extras.Category FROM Ling_English_Category_Extras GROUP BY Ling_English_Category_Extras.Category ORDER BY Ling_English_Category_Extras.Category;" |
| 0424 | Set rs_Temp = CurrentDb.OpenRecordset(strQuery2) |
| 0425 | If Not rs_Temp.EOF Then |
| 0426 | strElement = "Category Jump Table
"
| 0427 | rs_Temp.MoveFirst |
| 0428 | For i = 1 To 4 |
| 0429 | If i > 1 Then |
| 0430 | strElement = strElement & " | "
| 0431 | End If |
| 0432 | strElement = strElement & ""
| 0433 | For j = 1 To 7 |
| 0434 | strElement = strElement & "| " & Replace(rs_Temp.Fields(0), " ", "") & " | " |
| 0435 | If Not rs_Temp.EOF Then |
| 0436 | rs_Temp.MoveNext |
| 0437 | Else |
| 0438 | strElement = strElement & "| | " |
| 0439 | End If |
| 0440 | Next j |
| 0441 | Next i |
| 0442 | rs_Temp.MoveFirst |
| 0443 | strElement = strElement & " | |
" & rs_Temp.Fields(0) & "" |
| 0444 | End If |
| 0445 | strElement = strElement & "
" & strTable_Saved |
| 0446 | Set rs_Temp = Nothing |
| 0447 | strLesson = "" |
| 0448 | End Select |
| 0449 | Case 39, 40 |
| 0450 | strElement = ""
| 0451 | Case Else |
| 0452 | strElement = ""
| 0453 | End Select |
| 0454 | strTable_Local = strTable_Local & strElement |
| 0455 | 'Set up Table Headings |
| 0456 | strElement = ""
| 0457 | For i = 1 To iCols |
| 0458 | strCell = rs.Fields(i - 1).Name |
| 0459 | Select Case strParameter |
| 0460 | Case 3 |
| 0461 | If i = 1 Then |
| 0462 | strElement = strElement & "| " & strCell & " | " |
| 0463 | Else |
| 0464 | strElement = strElement & "| " & strCell & " | " |
| 0465 | End If |
| 0466 | Case 7 |
| 0467 | If i = 1 Or i = 5 Then |
| 0468 | strElement = strElement & "| " & strCell & " | " |
| 0469 | Else |
| 0470 | strElement = strElement & "| " & strCell & " | " |
| 0471 | End If |
| 0472 | Case 8 |
| 0473 | If i = 1 Or i = 2 Then |
| 0474 | strElement = strElement & "| " & strCell & " | " |
| 0475 | Else |
| 0476 | strElement = strElement & "| " & strCell & " | " |
| 0477 | End If |
| 0478 | Case 11 |
| 0479 | If i = 4 Then |
| 0480 | strElement = strElement & "| " & strCell & " | " |
| 0481 | Else |
| 0482 | strElement = strElement & "| " & strCell & " | " |
| 0483 | End If |
| 0484 | Case 15, 17, 18, 23, 24, 25, 27, 28, 29, 30, 32, 34 |
| 0485 | strElement = strElement & "| " & strCell & " | " |
| 0486 | Case 20 |
| 0487 | Col_Width = Round(100 / iCols, 1) |
| 0488 | strElement = strElement & "| " & strCell & " | " |
| 0489 | Case 21 |
| 0490 | Select Case strParameter2_Local |
| 0491 | Case 1, 4, 6 'Case 7 moved to next list 06/07/24 |
| 0492 | If i > 2 Then |
| 0493 | strCell = Mid(strCell, 4) |
| 0494 | End If |
| 0495 | Case 2, 5, 7, 8, 9 |
| 0496 | If i > 3 Then |
| 0497 | strCell = Mid(strCell, 4) |
| 0498 | End If |
| 0499 | Case 3, 10 |
| 0500 | If i > 5 Then |
| 0501 | strCell = Mid(strCell, 4) |
| 0502 | End If |
| 0503 | End Select |
| 0504 | strElement = strElement & "| " & strCell & " | " |
| 0505 | Case 22 |
| 0506 | If i = 2 Or i = 3 Then |
| 0507 | strElement = strElement & "| " & strCell & " | " |
| 0508 | Else |
| 0509 | strElement = strElement & "| " & strCell & " | " |
| 0510 | End If |
| 0511 | Case 26 |
| 0512 | strElement = strElement & "| " & strCell & " | " |
| 0513 | Case 31, 43, 44, 45 |
| 0514 | strElement = strElement & "| " & strCell & " | " |
| 0515 | Case 42 |
| 0516 | Select Case i |
| 0517 | Case 1 |
| 0518 | strElement = strElement & "| " & " " & " | " |
| 0519 | Case 2 |
| 0520 | strElement = strElement & "| " & strCell & " | " |
| 0521 | Case iCols |
| 0522 | strElement = strElement & "| " & Left(strCell, Len(strCell) - 1) & " | " |
| 0523 | Case Else |
| 0524 | strElement = strElement & "| " & strCell & " | " |
| 0525 | End Select |
| 0526 | Case Else |
| 0527 | strElement = strElement & "| " & strCell & " | " |
| 0528 | End Select |
| 0529 | If i = iTotal_Col And strParameter <> 3 Then |
| 0530 | strElement = strElement & "| TOTAL | " |
| 0531 | End If |
| 0532 | Next i |
| 0533 | strElement = strElement & " | " |
| 0534 | strHeader = strElement & Chr$(10) |
| 0535 | If strParameter = 30 Or strParameter = 30 Then 'Err .... ******************** |
| 0536 | strElement = "" |
| 0537 | End If |
| 0538 | strTable_Local = strTable_Local & strElement & Chr$(10) |
| 0539 | 'Set up Table Rows |
| 0540 | strCell_1_Saved = "" |
| 0541 | strCell_4_Saved = "" |
| 0542 | strElement = "" |
| 0543 | Do Until rs.EOF |
| 0544 | If strParameter = 11 Or strParameter = 22 Or strParameter = 21 Then |
| 0545 | If (strCell_1_Saved <> rs.Fields(0)) And (strElement <> "") Then |
| 0546 | If strParameter = 21 Or strParameter = 22 Then |
| 0547 | 'Close previous table |
| 0548 | strElement = strElement & strHeader 'Repeat the column headersstrParameter2_Local |
| 0549 | strElement = strElement & " |
" & IIf(strParameter = 21, "", Language & " - ") & strLesson & rs.Fields(0) & "" |
| 0550 | 'Open a new table |
| 0551 | strElement = strElement & strTable_Saved |
| 0552 | Else |
| 0553 | 'Insert a blank row |
| 0554 | strElement = strElement & ""
| 0555 | For i = 1 To iCols |
| 0556 | strElement = strElement & "| | " |
| 0557 | Next i |
| 0558 | strElement = strElement & " | " |
| 0559 | End If |
| 0560 | 'Insert the header row |
| 0561 | strElement = strElement & strHeader |
| 0562 | End If |
| 0563 | End If |
| 0564 | j = 0 |
| 0565 | For i = 1 To iCols |
| 0566 | strCell = "" |
| 0567 | Select Case i |
| 0568 | Case 1 |
| 0569 | strWork = ""
| 0570 | strCell = rs.Fields(0) & "" |
| 0571 | If strParameter = 7 Or strParameter = 8 Or strParameter = 11 Or strParameter = 22 Or strParameter = 24 Or strParameter = 30 Or strParameter = 21 Then |
| 0572 | If (strCell_1_Saved = strCell) And strCell & "" <> "" Then |
| 0573 | strCell = "↑↑↑" |
| 0574 | Else |
| 0575 | strCell_1_Saved = strCell |
| 0576 | If strParameter = 11 Or strParameter = 22 Then |
| 0577 | strCell = "+R" & strCell & IIf(strParameter = 22 And Val(strParameter2_Local) > 2, "Dialogue", "") & "R+" & "" & strCell & "" |
| 0578 | Else |
| 0579 | If strParameter = 30 Then |
| 0580 | strWork = Mid(strCell, 2, InStr(strCell, "]") - 2) |
| 0581 | strWork = "PDFs_" & Replace(strWork, " ", "") |
| 0582 | strWork = Left(strWork, 20) |
| 0583 | strWork = " | |
+R" & strWork & "R+" & strHeader & ""
| 0584 | End If |
| 0585 | End If |
| 0586 | End If |
| 0587 | If (strParameter = 11 And rs.Fields(1) <> 0) Or strParameter = 22 Then |
| 0588 | strCell = "+R" & rs.Fields(1) & IIf(strParameter = 22 And Val(strParameter2_Local) > 2, "Dialogue", "") & "R+ " & strCell |
| 0589 | End If |
| 0590 | strElement = strElement & strWork & "| " & strCell & " | " |
| 0591 | Else |
| 0592 | strElement = strElement & strWork |
| 0593 | If strParameter = 3 Or strParameter = 26 Or strParameter = 27 Or strParameter = 28 Or strParameter = 29 Or strParameter = 32 Or strParameter = 34 Then |
| 0594 | If strParameter = 26 Then |
| 0595 | strCell = "..\..\" & strCell |
| 0596 | strWork2 = Link_Narr_Gen(strCell) & "" |
| 0597 | If strWork2 = "" Then |
| 0598 | strWork2 = strCell |
| 0599 | End If |
| 0600 | strCell = "" & strWork2 & "" |
| 0601 | strElement = strElement & "| " & strCell & " | " |
| 0602 | Else |
| 0603 | strElement = strElement & "| " & strCell & " | " |
| 0604 | End If |
| 0605 | Else |
| 0606 | If strParameter = 15 Or strParameter = 17 Or strParameter = 18 Or strParameter = 23 Or strParameter = 24 Or strParameter = 25 Or strParameter = 30 Or strParameter = 31 Or strParameter = 43 Or strParameter = 44 Or strParameter = 45 Then |
| 0607 | strElement = strElement & "| " & strCell & " | " |
| 0608 | Else |
| 0609 | strElement = strElement & "| " & strCell & " | " |
| 0610 | End If |
| 0611 | End If |
| 0612 | End If |
| 0613 | Case Else |
| 0614 | strCell = rs.Fields(i - 1) & "" |
| 0615 | If Len(strCell) = 0 Then |
| 0616 | strCell = " " |
| 0617 | Else |
| 0618 | If strParameter = 3 Then |
| 0619 | If i > 6 Then |
| 0620 | strCell = Round(strCell, 2) |
| 0621 | End If |
| 0622 | End If |
| 0623 | If i <= iTotal_Col Then |
| 0624 | j = j + Val(strCell) |
| 0625 | End If |
| 0626 | k(i) = k(i) + Val(strCell) |
| 0627 | If strParameter <> 3 And strParameter <> 26 And strParameter <> 28 And strParameter <> 29 And strParameter <> 32 Then |
| 0628 | OK = Number_Format(strCell) |
| 0629 | End If |
| 0630 | End If |
| 0631 | If (i = 5 And strParameter = 7) Or (i = 2 And strParameter = 15) Or (i = 2 And strParameter = 17) Or (i = 2 And strParameter = 18) Then |
| 0632 | If strCell_4_Saved = strCell Then |
| 0633 | strCell = "↑↑↑" |
| 0634 | Else |
| 0635 | strCell_4_Saved = strCell |
| 0636 | End If |
| 0637 | End If |
| 0638 | If i = 3 And strParameter = 3 Then |
| 0639 | If strCell = "-" Then |
| 0640 | strCell = " " |
| 0641 | Else |
| 0642 | strCell = Oboe_File_Links_List(strCell) |
| 0643 | End If |
| 0644 | End If |
| 0645 | If (strParameter = 3 And i > 1) Or (strParameter = 7 And i < 5) Or (strParameter = 8 And i > 2) Or (strParameter = 11 And i < 4) Then |
| 0646 | strElement = strElement & "| " & strCell & " | " |
| 0647 | Else |
| 0648 | If strParameter = 11 And i = 4 Then |
| 0649 | If rs.Fields(1) = "0" Then |
| 0650 | strCell = "Administration|..||.|" & strCell & ": " & Language_Animadversion_Reference_List(rs.Fields(0)) |
| 0651 | 'Add old time |
| 0652 | strCell = strCell & Subject_Hours_List(rs.Fields(0)) |
| 0653 | strQuery = "SELECT Language_Location_Primer.Language_Key, Language_Location_Primer.Ling_Progress, Language_Location_Primer.Ling_Vocab_Note, Language_Location_Primer.Ling_Dialogue_Note, Language_Location_Primer.Wiki_Language, Language_Location_Primer.Wiki_Script FROM Language_Location_Primer WHERE (((Language_Location_Primer.Language_Key)=""" & rs.Fields(0) & """));" |
| 0654 | Set rs_Temp = CurrentDb.OpenRecordset(strQuery) |
| 0655 | rs_Temp.MoveFirst |
| 0656 | If rs_Temp.Fields(1) > 0 Then |
| 0657 | 'Add latest Ling Lesson |
| 0658 | strCell = strCell & "|.|Latest Ling Lesson Studied: " & rs_Temp.Fields(1) |
| 0659 | 'Add Links to Ling XTabs |
| 0660 | strCell = strCell & "|.|Links to Aeon Comparative Database: |99|" |
| 0661 | strCell = strCell & "|1|Vocabulary++" & rs_Temp.Fields(2) & "++|1|Dialogues++" & rs_Temp.Fields(3) & "++" |
| 0662 | strCell = strCell & "|99|" |
| 0663 | End If |
| 0664 | If rs_Temp.Fields(4) > 0 Then |
| 0665 | strCell = strCell & "|.|+W" & rs_Temp.Fields(4) & "W+" |
| 0666 | End If |
| 0667 | If rs_Temp.Fields(5) > 0 Then |
| 0668 | strCell = strCell & "|.|+W" & rs_Temp.Fields(5) & "W+" |
| 0669 | End If |
| 0670 | 'Finish off |
| 0671 | Set rs_Temp = Nothing |
| 0672 | strCell = strCell & "|..|" |
| 0673 | Else |
| 0674 | strCell = Language_Animadversion_Translate(strCell, rs.Fields(0)) |
| 0675 | End If |
| 0676 | End If |
| 0677 | If (strParameter = 7 And i = 5) Or (strParameter = 8 And i = 2) Or (strParameter = 11 And i = 4) Or strParameter = 15 Or strParameter = 17 Or strParameter = 18 Or strParameter = 22 Or strParameter = 30 Or (strParameter = 21 And (Val(strParameter2_Local) <> 3)) Then |
| 0678 | strElement = strElement & "| " & strCell & " | " |
| 0679 | Else |
| 0680 | If strParameter = 23 Then |
| 0681 | If i = 2 Or i = 4 Or i = 7 Then |
| 0682 | strElement = strElement & "| " & strCell & " | " |
| 0683 | Else |
| 0684 | strElement = strElement & "| " & strCell & " | " |
| 0685 | End If |
| 0686 | Else |
| 0687 | If strParameter = 24 Or strParameter = 25 Or strParameter = 28 Or strParameter = 29 Or strParameter = 31 Or strParameter = 32 Or strParameter = 44 Or strParameter = 45 Then |
| 0688 | strElement = strElement & "| " & strCell & " | " |
| 0689 | Else |
| 0690 | If strParameter = 26 Then |
| 0691 | Select Case i |
| 0692 | Case 2, 3 |
| 0693 | strElement = strElement & "| " & strCell & " | " |
| 0694 | Case 4 |
| 0695 | OK = Number_Format(strCell) |
| 0696 | strElement = strElement & "| " & strCell & " | " |
| 0697 | Case 5 |
| 0698 | strCell = " " |
| 0699 | m = InStr(rs.Fields(0), "NotesPrint_") |
| 0700 | If m > 0 Then |
| 0701 | m = m + 11 |
| 0702 | n = InStr(m, rs.Fields(0), "_") |
| 0703 | If n > 0 Then |
| 0704 | m = Mid(rs.Fields(0), m, n - m) |
| 0705 | strCell = "[Note Link]++" & m & "++" |
| 0706 | End If |
| 0707 | End If |
| 0708 | strElement = strElement & "| " & strCell & " | " |
| 0709 | End Select |
| 0710 | Else |
| 0711 | If strParameter = 43 Then |
| 0712 | Select Case i |
| 0713 | Case 3, 5 |
| 0714 | strElement = strElement & "| " & strCell & " | " |
| 0715 | Case Else |
| 0716 | strElement = strElement & "| " & strCell & " | " |
| 0717 | End Select |
| 0718 | Else |
| 0719 | strElement = strElement & "| " & strCell & " | " |
| 0720 | End If |
| 0721 | End If |
| 0722 | End If |
| 0723 | End If |
| 0724 | End If |
| 0725 | End If |
| 0726 | If i = iTotal_Col Then |
| 0727 | 'Row Total |
| 0728 | strCell = j |
| 0729 | If strParameter <> 3 Then |
| 0730 | OK = Number_Format(strCell) |
| 0731 | strElement = strElement & "| " & strCell & " | " |
| 0732 | End If |
| 0733 | k(iCols + 1) = k(iCols + 1) + j |
| 0734 | End If |
| 0735 | End Select |
| 0736 | Next i |
| 0737 | strElement = strElement & " | " & Chr$(10)
| 0738 | rs.MoveNext |
| 0739 | Loop |
| 0740 | strTable_Local = strTable_Local & strElement |
| 0741 | 'Set up Total Line |
| 0742 | If iCols >= iTotal_Col Then 'Allow for no Total Row |
| 0743 | If strParameter = 3 Then |
| 0744 | strElement = "| TOTALS → | "
| 0745 | Else |
| 0746 | strElement = "| TOTAL | "
| 0747 | End If |
| 0748 | For i = 2 To iCols |
| 0749 | strCell = k(i) |
| 0750 | If strParameter <> 3 Then |
| 0751 | OK = Number_Format(strCell) |
| 0752 | End If |
| 0753 | If strCell = 0 Then |
| 0754 | strCell = " " |
| 0755 | End If |
| 0756 | If strParameter = 3 Then |
| 0757 | If i < 5 Then |
| 0758 | strElement = strElement & "| " & " " & " | " |
| 0759 | Else |
| 0760 | strElement = strElement & "| " & strCell & " | " |
| 0761 | End If |
| 0762 | Else |
| 0763 | strElement = strElement & "| " & strCell & " | " |
| 0764 | If i = iTotal_Col Then |
| 0765 | strCell = k(iCols + 1) |
| 0766 | OK = Number_Format(strCell) |
| 0767 | strElement = strElement & "| " & strCell & " | " |
| 0768 | End If |
| 0769 | End If |
| 0770 | Next i |
| 0771 | strElement = strElement & "" & Chr$(10)
| 0772 | strTable_Local = strTable_Local & strElement |
| 0773 | End If |
| 0774 | 'Set up Table Footer |
| 0775 | If strParameter = 3 Or strParameter = 11 Or strParameter = 22 Or (strParameter = 21 And (Val(strParameter2_Local) <> 3)) Then |
| 0776 | strTable_Local = strTable_Local & strHeader 'Repeat the column headers |
| 0777 | End If |
| 0778 | strElement = " | | | | " |
| 0779 | strTable_Local = strTable_Local & strElement |
| 0780 | 'Tidy up and exit |
| 0781 | Functor_21 = "Yes" |
| 0782 | strTable = strTable_Local |
| 0783 | Set rs = Nothing |
| 0784 | End Function |
Procedures Calling This Procedure (Functor_21)
- Auto_Reference_Notes (From Lines 896, 898)
- Functor (From Line 183)
Procedures Called By This Procedure (Functor_21)
Tables / Queries / Fragments Directly Used By This Procedure (Functor_21)
- Auto_Ref_Notes_Stats_Detailed (Query, used in Line 52)
- Auto_Ref_Notes_Stats_Grand_Summary (Query, used in Line 65)
- Auto_Ref_Notes_Stats_Grandest_Summary (Query, used in Line 68)
- Auto_Ref_Notes_Stats_Summary (Query, used in Line 48)
- Bible_Reading_Progress (Query, used in Line 250)
- BookPaperControl_List (Query, used in Line 265)
- Books_To_Regen (Table, used in Line 223)
- Cross_Reference_By_Type (Query, used in Line 39)
- Cross_Reference_Changes_By_Type (Query, used in Line 42)
- Day_Plan_M1 (Table, used in Line 285)
- Day_Plan_M2 (Table, used in Line 287)
- Day_Plan_M3 (Table, used in Line 289)
- Duplicate_Papers (Query, used in Line 241)
- Functor_Calls (Query, used in Line 55)
- Functors_FbyN (Query, used in Line 59)
- Functors_NbyF (Query, used in Line 63)
- IdentityBooks_Unreferenced (Query, used in Line 102)
- IdentityBooks_Unreferenced_Gen (Query, used in Line 103)
- IdentityPapersRead_Unreferenced (Query, used in Line 92)
- IdentityPapersRead_Unreferenced_Gen (Query, used in Line 93)
- Journals_List (Query, used in Line 293)
- Language_Animadversions_List (Query, used in Line 80)
- Language_Animadversions_XTab (Query, used in Line 83)
- Language_Animadversions_XTab_Pri2 (Query, used in Line 86)
- Language_Animadversions_XTab_Pri3 (Query, used in Line 268)
- Language_Animadversions_XTab_Pri4 (Query, used in Line 271)
- Language_Location_Primer (Table, used in Lines 181, 185, 208, 653)
- Language_Location_Primer_Date_Time_Updt (Query, used in Line 78)
- Language_Location_Primer_Time_Zap (Query, used in Line 76)
- Large_Page_List (Query, used in Line 235)
- Ling_Combined_XTab (Query, used in Line 118)
- Ling_Crosstab_Group_Control (Table, used in Lines 135, 137)
- Ling_Database_Summary_XTab_Dialogue_Latin (Query, used in Line 114)
- Ling_Database_Summary_XTab_Dialogue_NonLatin (Query, used in Line 116)
- Ling_Database_Summary_XTab_Vocabulary_Latin (Query, used in Line 110)
- Ling_Database_Summary_XTab_Vocabulary_NonLatin (Query, used in Line 112)
- Ling_Dodgy_Vocab (Query, used in Line 280)
- Ling_English_Category_Extras (Table, used in Line 423)
- Ling_Language_Dialogue_List (Query, used in Line 163)
- Ling_Language_Dialogue_List_All (Query, used in Line 128)
- Ling_Language_Dialogue_List_Latin (Query, used in Line 193)
- Ling_Language_Dialogue_List_Latin_Reduced (Query, used in Line 175)
- Ling_Language_Dialogue_List_NonLatin (Query, used in Line 191)
- Ling_Language_Dialogue_List_NonLatin_Reduced (Query, used in Line 177)
- Ling_Language_Vocab_List_All (Query, used in Line 124)
- Ling_Language_Vocab_List_All_Grouped (Query, used in Line 151)
- Ling_Language_Vocab_List_All_Grouped_LessonSeq (Query, used in Line 147)
- Ling_Language_Vocab_List_All_LessonSeq (Query, used in Line 130)
- Ling_Language_Vocab_List_Latin (Query, used in Line 204)
- Ling_Language_Vocab_List_Latin_Reduced (Query, used in Line 171)
- Ling_Language_Vocab_List_NonLatin (Query, used in Line 202)
- Ling_Language_Vocab_List_NonLatin_Reduced (Query, used in Line 173)
- Ling_Language_Vocab_Phrase_List (Query, used in Line 159)
- Ling_Language_Vocab_Phrase_List_All (Query, used in Line 126)
- Ling_Language_Vocab_Phrase_List_All_LessonSeq (Query, used in Line 132)
- Ling_Language_Vocab_Phrase_List_LessonSeq (Query, used in Line 155)
- LRB_Files_List (Query, used in Line 299)
- LRB_XTab (Query, used in Line 296)
- Missing_Webref_DisplayText_List (Query, used in Line 244)
- Missing_Webref_DisplayText_List_Books (Query, used in Line 253)
- Oboe_Practice_Hours_List (Query, used in Line 45)
- Papers_Inconsistently_Electronic (Query, used in Line 259)
- PDF_Missing_List (Query, used in Line 238)
- PID_Books_To_Regen (Query, used in Line 225)
- PID_Missing_Online_Papers_List (Query, used in Line 247)
- PID_Missing_Online_Papers_List_Summary (Query, used in Line 256)
- PID_Notes_RL_Category_Xtab (Query, used in Line 106)
- PID_Notes_Used_By_Thesis_Chapter_List_XTab (Query, used in Line 96)
- PID_Notes_Used_By_Thesis_Chapter_XTab (Query, used in Line 89)
- PID_Papers_Filed_Not_Referenced (Query, used in Line 226)
- PID_Papers_Referenced_No_Abstract (Query, used in Line 232)
- PID_Papers_Referenced_Undated (Query, used in Line 229)
- Temp_Lang_Date_Last_Study (Table, used in Line 72)
- Temp_Lang_Date_Last_Study_GEN (Query, used in Line 74)
- Time_By_Weekday_QTD (Query, used in Line 277)
- Time_By_Weekday_YTD (Query, used in Line 274)
- Website_Regen_Control_List (Query, used in Line 262)
- Works_Missing_By_Thesis_Chapter (Query, used in Line 99)
Go To Start of This Procedure
Go To Top of This Page
Link to VBA Code Control Page
Source Code of: Functor_22 Procedure Type: Public Function Module: Functors Lines of Code: 403
Go To End of This Procedure
| Line-No. / Ref. | Code Line |
| 0001 | Public Function Functor_22(strParameter, strList, Note_ID, str_Parameter_2, Optional str_Parameter_3, Optional str_Parameter_4) 'str_Parameter_3 & _4 to be used for recursion |
| 0002 | 'This function formats a list (together with surrounding narrative) from a query |
| 0003 | Dim rs As Recordset |
| 0004 | Dim strList_Local As String |
| 0005 | Dim strElement As String |
| 0006 | Dim strCell As String |
| 0007 | Dim strQuery As String |
| 0008 | Dim strUpdtQuery As String |
| 0009 | Dim BP As String |
| 0010 | Dim FN As String |
| 0011 | Dim str_Parameter_2_Local As String |
| 0012 | Dim str_Parameter_3_Local As String |
| 0013 | Dim str_Parameter_4_Local As String |
| 0014 | Dim strPara2 As String |
| 0015 | Dim strPara3 As String |
| 0016 | Dim Item_Year As String |
| 0017 | Dim Write_Up_Note As Long |
| 0018 | Dim Field_1 As String |
| 0019 | Dim Field_2 As String |
| 0020 | Dim Field_3 As String |
| 0021 | Dim Field_4 As String |
| 0022 | Dim Chapter_FieldName As String |
| 0023 | Dim iCols As Integer |
| 0024 | str_Parameter_2_Local = str_Parameter_2 & "" |
| 0025 | If IsMissing(str_Parameter_3) Then |
| 0026 | str_Parameter_3_Local = "" |
| 0027 | Else |
| 0028 | str_Parameter_3_Local = str_Parameter_3 & "" |
| 0029 | End If |
| 0030 | If IsMissing(str_Parameter_4) Then |
| 0031 | str_Parameter_4_Local = "" |
| 0032 | Else |
| 0033 | str_Parameter_4_Local = str_Parameter_4 & "" |
| 0034 | End If |
| 0035 | strPara3 = "" |
| 0036 | 'For Cases 6 to 7 ... Note that this processing is performed for cases 8 & 9 on re-entry |
| 0037 | If strParameter >= 6 And strParameter <= 7 Then |
| 0038 | If automatic_processing <> "Yes" Then |
| 0039 | 'Check Books & Papers on PID_Note_Reading_Lists exist! |
| 0040 | Set rs = CurrentDb.OpenRecordset("PID_Note_Reading_Lists_Books_Chk") |
| 0041 | If Not rs.EOF Then |
| 0042 | DoCmd.OpenQuery ("PID_Note_Reading_Lists_Books_Chk") |
| 0043 | End If |
| 0044 | Set rs = Nothing |
| 0045 | Set rs = CurrentDb.OpenRecordset("PID_Note_Reading_Lists_Papers_Chk") |
| 0046 | If Not rs.EOF Then |
| 0047 | DoCmd.OpenQuery ("PID_Note_Reading_Lists_Papers_Chk") |
| 0048 | End If |
| 0049 | Set rs = Nothing |
| 0050 | 'Add new rows to PID_Note_Reading_Lists |
| 0051 | DoCmd.OpenQuery ("PID_Notes_Books_Referenced_Gen") |
| 0052 | DoCmd.OpenQuery ("PID_Notes_Papers_Referenced_Gen") |
| 0053 | DoCmd.OpenQuery ("IdentityBooks_Unreferenced_Gen") |
| 0054 | DoCmd.OpenQuery ("IdentityPapersRead_Unreferenced_Gen") |
| 0055 | ' Update/add the authors, titles and the "read" & "annotation" status of the papers on PID_Note_Reading_Lists |
| 0056 | strUpdtQuery = "UPDATE PID_Note_Reading_Lists INNER JOIN Papers ON PID_Note_Reading_Lists.Called_ID = Papers.ID SET PID_Note_Reading_Lists.[Percent_Read] = Papers.[Actual - Total] / Papers.Estimate * 100, PID_Note_Reading_Lists.[Read?] = [Papers]![Read?], PID_Note_Reading_Lists.Author = [Papers]![Author], PID_Note_Reading_Lists.Title = [Papers]![Title], PID_Note_Reading_Lists.[Annotations?] = [Papers]![Annotations?], PID_Note_Reading_Lists.[Abstract_Null?] = IIf([Abstract] & """"="""",True,False), PID_Note_Reading_Lists.[Link_Internal?] = IIf(InStr([Comments] & """",""+F"")>0,True,False), PID_Note_Reading_Lists.[Link_External?] = IIf(InStr([Comments] & """",""+W"")>0,True,False) WHERE (((PID_Note_Reading_Lists.[Book/Paper])=""Paper"") AND ((PID_Note_Reading_Lists.Note_ID)=" & Note_ID & "));" |
| 0057 | DoCmd.RunSQL (strUpdtQuery) |
| 0058 | ' Update/add the authors, titles and the "read" status of the books on PID_Note_Reading_Lists |
| 0059 | strUpdtQuery = "UPDATE PID_Note_Reading_Lists INNER JOIN Books ON PID_Note_Reading_Lists.Called_ID = Books.ID1 SET PID_Note_Reading_Lists.[Percent_Read] = Books.[Actual - Total] / Books.Estimate * 100, PID_Note_Reading_Lists.[Read?] = [Books]![Read?], PID_Note_Reading_Lists.Author = [Books]![Author], PID_Note_Reading_Lists.Title = [Books]![Title] WHERE (((PID_Note_Reading_Lists.[Book/Paper])=""Book"") AND ((PID_Note_Reading_Lists.Note_ID)=" & Note_ID & "));" |
| 0060 | DoCmd.RunSQL (strUpdtQuery) |
| 0061 | 'Update to show Write-up Notes |
| 0062 | strUpdtQuery = "UPDATE PID_Note_Reading_Lists INNER JOIN Papers ON PID_Note_Reading_Lists.Called_ID = Papers.ID SET PID_Note_Reading_Lists.[Write-Up?] = [Papers]![Write_Up_Note_ID] WHERE (((Papers.Write_Up_Note_ID)>0) AND ((PID_Note_Reading_Lists.[Book/Paper])=""Paper"") AND ((PID_Note_Reading_Lists.Note_ID)=" & Note_ID & "));" |
| 0063 | DoCmd.RunSQL (strUpdtQuery) |
| 0064 | End If |
| 0065 | 'Check if R/L to be de-duplicated |
| 0066 | If str_Parameter_3_Local = "De-Duplicate" Then |
| 0067 | 'Determine the column name in PID_Note_Reading_Lists table |
| 0068 | strQuery = "SELECT Thesis_Chapters.ID, Thesis_Chapters.Chapter FROM Thesis_Chapters WHERE (((Thesis_Chapters.ID)=" & str_Parameter_4 & "));" |
| 0069 | Set rs = CurrentDb.OpenRecordset(strQuery) |
| 0070 | If Not rs.EOF Then |
| 0071 | rs.MoveFirst |
| 0072 | Chapter_FieldName = rs.Fields(1) |
| 0073 | Chapter_FieldName = "Ch_" & Chapter_FieldName & "_Ist_Note" |
| 0074 | strPara3 = " AND ((PID_Note_Reading_Lists." & Chapter_FieldName & ")<>999999)" |
| 0075 | End If |
| 0076 | Set rs = Nothing |
| 0077 | End If |
| 0078 | End If |
| 0079 | 'For Cases 6 to 9 ... |
| 0080 | If strParameter >= 6 And strParameter <= 9 Then |
| 0081 | 'Over-ride Parameter_2 (Category) if requested, else select only that Category |
| 0082 | If str_Parameter_2_Local = "*ALL*" Then |
| 0083 | strPara2 = "" |
| 0084 | Else |
| 0085 | If str_Parameter_2_Local = "" Then |
| 0086 | strPara2 = " AND ((PID_Note_Reading_Lists.Category) & """" = """")" |
| 0087 | Else |
| 0088 | strPara2 = " AND ((PID_Note_Reading_Lists.Category)=""" & str_Parameter_2_Local & """)" |
| 0089 | End If |
| 0090 | End If |
| 0091 | 'Adjust for items that have missed the cut |
| 0092 | If str_Parameter_3_Local = "" Then |
| 0093 | strPara3 = "" |
| 0094 | Else |
| 0095 | If str_Parameter_3_Local = "1" Or str_Parameter_3_Local = "De-Duplicate" Then |
| 0096 | strPara3 = " AND ((PID_Note_Reading_Lists.[Missed_Cut?]) = False)" |
| 0097 | Else |
| 0098 | strPara3 = " AND ((PID_Note_Reading_Lists.[Missed_Cut?]) = True)" |
| 0099 | End If |
| 0100 | End If |
| 0101 | End If |
| 0102 | Select Case strParameter |
| 0103 | Case 1 |
| 0104 | strQuery = "Cross_Reference_By_Year" |
| 0105 | strElement = "However, there are (as of " & Now() & ", using +CFunctor_22C+ & query +QCross_Reference_By_YearQ+) the following counts of records on the table with timestamps in the years below:- " |
| 0106 | Case 2 |
| 0107 | strQuery = "Cross_Reference_Changes_By_Year" |
| 0108 | strElement = "" |
| 0109 | Case 3 |
| 0110 | DoCmd.OpenQuery ("Functor_Descriptions_GEN") |
| 0111 | strQuery = "Functor_Descriptions_List" |
| 0112 | strElement = "" |
| 0113 | Case 4 |
| 0114 | strQuery = "Cross_Reference_Changes_By_Month" |
| 0115 | strElement = "" |
| 0116 | Case 5 |
| 0117 | strQuery = "PID_Notes_Unused_By_Thesis" |
| 0118 | strElement = "" |
| 0119 | Case 6 |
| 0120 | strQuery = "SELECT PID_Note_Reading_Lists.[Book/Paper], PID_Note_Reading_Lists.Called_ID, PID_Note_Reading_Lists.Footnote, PID_Note_Reading_Lists.Author, PID_Note_Reading_Lists.Title, PID_Note_Reading_Lists.Item_Year, PID_Note_Reading_Lists.[Write-Up?], PID_Note_Reading_Lists.[Annotations?], PID_Note_Reading_Lists.[Abstract_Null?], PID_Note_Reading_Lists.[Link_External?], PID_Note_Reading_Lists.[Link_Internal?], PID_Note_Reading_Lists.[Percent_Read], PID_Note_Reading_Lists.[Reason_Missed_Cut] FROM PID_Note_Reading_Lists WHERE (((PID_Note_Reading_Lists.Note_ID) = " & Note_ID & ") And ((PID_Note_Reading_Lists.[Read?]) = Yes) And ((PID_Note_Reading_Lists.[Suppress?]) = No)" & strPara2 & strPara3 & ") ORDER BY PID_Note_Reading_Lists.Author, PID_Note_Reading_Lists.Title;" |
| 0121 | strElement = "" |
| 0122 | Case 7 |
| 0123 | strQuery = "SELECT PID_Note_Reading_Lists.[Book/Paper], PID_Note_Reading_Lists.Called_ID, PID_Note_Reading_Lists.Footnote, PID_Note_Reading_Lists.Author, PID_Note_Reading_Lists.Title, PID_Note_Reading_Lists.Item_Year, PID_Note_Reading_Lists.[Write-Up?], PID_Note_Reading_Lists.[Annotations?], PID_Note_Reading_Lists.[Abstract_Null?], PID_Note_Reading_Lists.[Link_External?], PID_Note_Reading_Lists.[Link_Internal?], PID_Note_Reading_Lists.[Percent_Read], PID_Note_Reading_Lists.[Reason_Missed_Cut] FROM PID_Note_Reading_Lists WHERE (((PID_Note_Reading_Lists.Note_ID) = " & Note_ID & ") And ((PID_Note_Reading_Lists.[Read?]) = No) And ((PID_Note_Reading_Lists.[Suppress?]) = No)" & strPara2 & strPara3 & ") ORDER BY PID_Note_Reading_Lists.Author, PID_Note_Reading_Lists.Title;" |
| 0124 | strElement = "" |
| 0125 | Case 8 |
| 0126 | If str_Parameter_2_Local = "" Then |
| 0127 | strQuery = "SELECT PID_Note_Reading_Lists.Category FROM PID_Note_Reading_Lists WHERE (((PID_Note_Reading_Lists.Note_ID) = " & Note_ID & ") And ((PID_Note_Reading_Lists.[Suppress?]) = No) " & strPara3 & " And ((PID_Note_Reading_Lists.[Read?]) = Yes)) GROUP BY PID_Note_Reading_Lists.Category ORDER BY PID_Note_Reading_Lists.Category;" |
| 0128 | Else |
| 0129 | strQuery = "SELECT Mid([Category],Len(""" & str_Parameter_2_Local & """)+1) AS Expr2 FROM PID_Note_Reading_Lists WHERE (((PID_Note_Reading_Lists.Note_ID) = " & Note_ID & ") And ((PID_Note_Reading_Lists.[Suppress?]) = No) " & strPara3 & " And ((PID_Note_Reading_Lists.[Read?]) = Yes) And ((Left([Category], Len(""" & str_Parameter_2_Local & """))) = """ & str_Parameter_2_Local & """)) GROUP BY Mid([Category],Len(""" & str_Parameter_2_Local & """)+1) ORDER BY Mid([Category],Len(""" & str_Parameter_2_Local & """)+1);" |
| 0130 | End If |
| 0131 | strElement = "" |
| 0132 | Case 9 |
| 0133 | If str_Parameter_2_Local = "" Then |
| 0134 | strQuery = "SELECT PID_Note_Reading_Lists.Category FROM PID_Note_Reading_Lists WHERE (((PID_Note_Reading_Lists.Note_ID) = " & Note_ID & ") And ((PID_Note_Reading_Lists.[Suppress?]) = No) " & strPara3 & " And ((PID_Note_Reading_Lists.[Read?]) = No)) GROUP BY PID_Note_Reading_Lists.Category ORDER BY PID_Note_Reading_Lists.Category;" |
| 0135 | Else |
| 0136 | strQuery = "SELECT Mid([Category],Len(""" & str_Parameter_2_Local & """)+1) AS Expr2 FROM PID_Note_Reading_Lists WHERE (((PID_Note_Reading_Lists.Note_ID) = " & Note_ID & ") And ((PID_Note_Reading_Lists.[Suppress?]) = No) " & strPara3 & " And ((PID_Note_Reading_Lists.[Read?]) = No) And ((Left([Category], Len(""" & str_Parameter_2_Local & """))) = """ & str_Parameter_2_Local & """)) GROUP BY Mid([Category],Len(""" & str_Parameter_2_Local & """)+1) ORDER BY Mid([Category],Len(""" & str_Parameter_2_Local & """)+1);" |
| 0137 | End If |
| 0138 | strElement = "" |
| 0139 | Case 10 |
| 0140 | If str_Parameter_2_Local = "Read" Then |
| 0141 | strPara2 = "((Functor_Usage.Functor_Option)=6 Or (Functor_Usage.Functor_Option)=8) " |
| 0142 | Else |
| 0143 | strPara2 = "((Functor_Usage.Functor_Option)=7 Or (Functor_Usage.Functor_Option)=9) " |
| 0144 | End If |
| 0145 | strQuery = "SELECT Thesis_Note_XRef.Thesis_Chapter_Note_ID, Thesis_Note_XRef.PID_Note_Seq, Thesis_Note_XRef.PID_Note_Category_1, Thesis_Note_XRef.PID_Note_Category_2, Thesis_Note_XRef.PID_Note_Category_3, Thesis_Note_XRef.PID_Note_Level, Thesis_Note_XRef.PID_Note_ID, Thesis_Note_XRef.PID_Note_Caption, Functor_Usage.Functor_Option, Functor_Usage.Functor_Parameter FROM Thesis_Note_XRef INNER JOIN Functor_Usage ON Thesis_Note_XRef.PID_Note_ID = Functor_Usage.Note_ID WHERE (" & strPara2 & " And ((Functor_Usage.Functor_ID) = 22) And ((Thesis_Note_XRef.Thesis_Chapter_Note_ID) = " & Note_ID & ") And ((Thesis_Note_XRef.[Exclude?]) = No)) ORDER BY Thesis_Note_XRef.PID_Note_Seq, Thesis_Note_XRef.PID_Note_Category_1, Thesis_Note_XRef.PID_Note_Category_2, Thesis_Note_XRef.PID_Note_Category_3, Thesis_Note_XRef.PID_Note_Level, Thesis_Note_XRef.PID_Note_Caption;" |
| 0146 | OK = Update_Thesis_Chapter_RLs(Note_ID) |
| 0147 | strElement = "" |
| 0148 | Case 11 |
| 0149 | strQuery = "PID_Notes_Unused_By_Thesis_Note_Lists" |
| 0150 | strElement = "" |
| 0151 | Case 12 |
| 0152 | strQuery = "PDF_File_List" |
| 0153 | strElement = "" |
| 0154 | Case 13 |
| 0155 | strQuery = "Thesis_Reading_List" |
| 0156 | strElement = "" |
| 0157 | Case 14 |
| 0158 | Select Case str_Parameter_2_Local |
| 0159 | Case "1" |
| 0160 | strQuery = "SELECT * FROM Thesis_Reading_List_Cited;" |
| 0161 | Case "2" |
| 0162 | strQuery = "SELECT * FROM Thesis_Reading_List_Cited_Note WHERE Note_ID = " & Note_ID & " ORDER BY Author, Title;" |
| 0163 | End Select |
| 0164 | strElement = "" |
| 0165 | Case 15 |
| 0166 | strQuery = "Aeon_Papers_Task_List" |
| 0167 | strElement = "" |
| 0168 | Case 16 |
| 0169 | strQuery = "qryTopTen" |
| 0170 | strElement = "" |
| 0171 | Case 17 |
| 0172 | strQuery = "qryDailyTasks" |
| 0173 | strElement = "" |
| 0174 | Case 18 |
| 0175 | Select Case str_Parameter_2_Local |
| 0176 | Case 1 |
| 0177 | strQuery = "BBC_2025_WebRefs" |
| 0178 | Case 2 |
| 0179 | strQuery = "RIP_WebRefs" |
| 0180 | Case 3 |
| 0181 | strQuery = "qryThesisTasks" |
| 0182 | End Select |
| 0183 | strElement = "" |
| 0184 | Chapter_FieldName = "ZZZZ" |
| 0185 | End Select |
| 0186 | Set rs = CurrentDb.OpenRecordset(strQuery) |
| 0187 | strList_Local = "" |
| 0188 | If rs.EOF Then |
| 0189 | Set rs = Nothing |
| 0190 | Debug.Print Now(); "- Functor_22: Option " & strParameter & " (Note = " & Note_ID & ") - No list to print" |
| 0191 | If strParameter = 6 Or strParameter = 7 Then |
| 0192 | strElement = "|ii|" |
| 0193 | strElement = strElement & "|1|No items to list. " |
| 0194 | strElement = strElement & "|ii|" |
| 0195 | Functor_22 = "Yes" |
| 0196 | strList = strElement |
| 0197 | Else |
| 0198 | If ((strParameter = 8 Or strParameter = 9) And str_Parameter_3_Local = "2") Or (strParameter = 14 And str_Parameter_2_Local = "2") Then |
| 0199 | Functor_22 = "Yes" |
| 0200 | strElement = strElement & "No items to list. " |
| 0201 | strList_Local = strList_Local & strElement |
| 0202 | strList = strList_Local |
| 0203 | Else |
| 0204 | Functor_22 = "No" |
| 0205 | End If |
| 0206 | End If |
| 0207 | Exit Function |
| 0208 | Else |
| 0209 | rs.MoveFirst |
| 0210 | iCols = rs.Fields.Count |
| 0211 | End If |
| 0212 | 'Set up List Header |
| 0213 | Select Case strParameter |
| 0214 | Case 6, 7, 16, 17 |
| 0215 | strElement = strElement & "|ii|" |
| 0216 | Case 10 |
| 0217 | strElement = "|II|" |
| 0218 | Field_3 = "" |
| 0219 | Field_4 = "" |
| 0220 | Case 3, 5, 8, 9, 11, 12 |
| 0221 | strElement = "|##|" |
| 0222 | Case 18 |
| 0223 | strElement = "|..|" |
| 0224 | Case Else |
| 0225 | strElement = strElement & "|99|" |
| 0226 | End Select |
| 0227 | strList_Local = strList_Local & strElement |
| 0228 | strElement = "" |
| 0229 | Do Until rs.EOF |
| 0230 | Field_2 = "" |
| 0231 | Select Case strParameter |
| 0232 | Case 5, 11 |
| 0233 | strElement = strElement & "|.|" |
| 0234 | strElement = strElement & rs.Fields(0) |
| 0235 | Case 6, 7, 13, 14 |
| 0236 | strElement = strElement & "|1|" |
| 0237 | BP = Left(rs.Fields(0), 1) |
| 0238 | strElement = strElement & "+" & BP & rs.Fields(1) & BP & "+" |
| 0239 | Item_Year = rs.Fields(5) & "" |
| 0240 | If Item_Year <> "" Then |
| 0241 | strElement = strElement & ", " & Item_Year |
| 0242 | End If |
| 0243 | If BP = "B" Then |
| 0244 | strElement = strElement & ", " & "Book" |
| 0245 | End If |
| 0246 | Write_Up_Note = rs.Fields(6) |
| 0247 | If Write_Up_Note > 0 Then |
| 0248 | strElement = strElement & ", [Write-Up Note]++" & Write_Up_Note & "++" |
| 0249 | End If |
| 0250 | If rs.Fields(7) = True Then |
| 0251 | strElement = strElement & ", Annotations" |
| 0252 | End If |
| 0253 | If rs.Fields(8) = True And Write_Up_Note = 0 Then |
| 0254 | strElement = strElement & ", No Abstract" |
| 0255 | End If |
| 0256 | If rs.Fields(9) = True Then |
| 0257 | strElement = strElement & ", External Link" |
| 0258 | End If |
| 0259 | If rs.Fields(10) = True Then |
| 0260 | strElement = strElement & ", Internal PDF Link" |
| 0261 | End If |
| 0262 | If strParameter = 7 And rs.Fields(11) > 0 Then |
| 0263 | strElement = strElement & ", Read = " & rs.Fields(11) & "%" |
| 0264 | End If |
| 0265 | If strParameter = 13 Or strParameter = 14 Then |
| 0266 | If rs.Fields(12) = True Then |
| 0267 | strElement = strElement & ", Read" |
| 0268 | Else |
| 0269 | If rs.Fields(11) > 0 Then |
| 0270 | strElement = strElement & ", Read = " & rs.Fields(11) & "%" |
| 0271 | End If |
| 0272 | End If |
| 0273 | End If |
| 0274 | FN = rs.Fields(2) & "" |
| 0275 | If FN <> "" Then |
| 0276 | If (Len(FN) < 31) And InStr(FN, "|") = 0 And InStr(FN, "+") = 0 Then 'Allow for quick comment / characterisation, eg. "Aeon" or "August 2019" |
| 0277 | strElement = strElement & ", Note: " & FN |
| 0278 | Else |
| 0279 | If InStr(FN, "|") = 0 Then |
| 0280 | FN = "|..||.|" & FN & "|..|" |
| 0281 | End If |
| 0282 | strElement = strElement & ", Footnote++FN" & FN & "++" |
| 0283 | End If |
| 0284 | End If |
| 0285 | If str_Parameter_3_Local = "2" Then |
| 0286 | If rs.Fields(12) & "" <> "" Then |
| 0287 | strElement = strElement & ", Missed Cut: " & rs.Fields(12) |
| 0288 | End If |
| 0289 | End If |
| 0290 | Case 8, 9 |
| 0291 | strElement = strElement & "|.|" |
| 0292 | strElement = strElement & "" & IIf(rs.Fields(0) & "" = "", "General", rs.Fields(0)) & ": " |
| 0293 | OK = Functor_22(IIf(strParameter = 8, 6, 7), strCell, Note_ID, str_Parameter_2_Local & rs.Fields(0), str_Parameter_3_Local, str_Parameter_4_Local) |
| 0294 | strElement = strElement & strCell |
| 0295 | Case 10 |
| 0296 | If rs.Fields(3) & "" <> Field_4 Then |
| 0297 | If Field_4 <> "" Then |
| 0298 | Field_2 = Field_2 & "|oo|" |
| 0299 | End If |
| 0300 | If rs.Fields(3) & "" <> "" Then |
| 0301 | Field_2 = Field_2 & "|1|" & rs.Fields(3) |
| 0302 | End If |
| 0303 | Field_4 = rs.Fields(3) & "" |
| 0304 | If Field_4 <> "" Then |
| 0305 | Field_2 = Field_2 & "|oo|" |
| 0306 | End If |
| 0307 | End If |
| 0308 | If rs.Fields(2) & "" <> Field_3 Then |
| 0309 | If Field_3 <> "" Then |
| 0310 | Field_2 = Field_2 & "|AA|" |
| 0311 | End If |
| 0312 | If rs.Fields(2) & "" <> "" Then |
| 0313 | Field_2 = Field_2 & "|1|" & rs.Fields(2) & "|AA|" |
| 0314 | End If |
| 0315 | Field_3 = rs.Fields(2) & "" |
| 0316 | End If |
| 0317 | Field_1 = rs.Fields(5) |
| 0318 | Select Case Field_1 |
| 0319 | Case "1" |
| 0320 | Field_2 = Field_2 & "|1|" |
| 0321 | Case "2" |
| 0322 | Field_2 = Field_2 & "|1|" |
| 0323 | Case "3" |
| 0324 | Field_2 = Field_2 & "|.|" |
| 0325 | End Select |
| 0326 | Field_2 = Field_2 & "[" & rs.Fields(7) & "]++" & rs.Fields(6) & "++" |
| 0327 | strElement = strElement & Field_2 |
| 0328 | OK = Functor_22(rs.Fields(8), strCell, rs.Fields(6), rs.Fields(9) & "", "De-Duplicate", rs.Fields(0)) |
| 0329 | strElement = strElement & strCell |
| 0330 | Case 12 |
| 0331 | strElement = strElement & Chr$(10) |
| 0332 | strElement = strElement & "|.|" & "" & "" & rs.Fields(1) & ".pdf " & rs.Fields(0) |
| 0333 | Case 15, 16, 17 |
| 0334 | strElement = strElement & "|1|" |
| 0335 | strElement = strElement & rs.Fields(0) |
| 0336 | Case 18 |
| 0337 | If rs.Fields(2) & "" <> Chapter_FieldName Then |
| 0338 | If Chapter_FieldName <> "ZZZZ" Then |
| 0339 | If str_Parameter_2_Local = 3 Then |
| 0340 | strElement = strElement & "|##|" |
| 0341 | Else |
| 0342 | strElement = strElement & "|99|" |
| 0343 | End If |
| 0344 | End If |
| 0345 | Chapter_FieldName = rs.Fields(2) & "" |
| 0346 | strElement = strElement & "|.|" & Chapter_FieldName & "" |
| 0347 | If str_Parameter_2_Local = 3 Then |
| 0348 | strElement = strElement & "|##|" |
| 0349 | Else |
| 0350 | strElement = strElement & "|99|" |
| 0351 | End If |
| 0352 | End If |
| 0353 | If str_Parameter_2_Local = 3 Then |
| 0354 | strElement = strElement & "|.|" |
| 0355 | Else |
| 0356 | strElement = strElement & "|1|" |
| 0357 | End If |
| 0358 | strElement = strElement & rs.Fields(0) |
| 0359 | If iCols > 3 Then |
| 0360 | If rs.Fields(3) & "" <> "" Then |
| 0361 | strElement = strElement & rs.Fields(3) |
| 0362 | End If |
| 0363 | End If |
| 0364 | Case Else |
| 0365 | strElement = strElement & "|.|" |
| 0366 | strElement = strElement & "" & rs.Fields(2) & ": " |
| 0367 | strCell = rs.Fields(1) |
| 0368 | OK = Number_Format(strCell) |
| 0369 | strElement = strElement & strCell |
| 0370 | End Select |
| 0371 | rs.MoveNext |
| 0372 | Loop |
| 0373 | strList_Local = strList_Local & strElement |
| 0374 | 'Set up End List ... this should probably be the same as the 'Start List', but isn't! |
| 0375 | Select Case strParameter |
| 0376 | Case 6, 7, 16, 17 |
| 0377 | strElement = "|ii|" |
| 0378 | Case 10 |
| 0379 | strElement = "" |
| 0380 | If Field_4 <> "" Then |
| 0381 | strElement = strElement & "|oo|" |
| 0382 | End If |
| 0383 | If Field_3 <> "" Then |
| 0384 | strElement = strElement & "|AA|" |
| 0385 | End If |
| 0386 | strElement = strElement & "|II|" |
| 0387 | Case 13, 14, 15 |
| 0388 | strElement = "|99|" |
| 0389 | Case 18 |
| 0390 | If str_Parameter_2_Local = 3 Then |
| 0391 | strElement = "|##|" |
| 0392 | Else |
| 0393 | strElement = "|99|" |
| 0394 | End If |
| 0395 | strElement = strElement & "|..|" |
| 0396 | Case Else |
| 0397 | strElement = "|##|" |
| 0398 | End Select |
| 0399 | strList_Local = strList_Local & strElement |
| 0400 | Functor_22 = "Yes" |
| 0401 | strList = strList_Local |
| 0402 | Set rs = Nothing |
| 0403 | End Function |
Procedures Calling This Procedure (Functor_22)
Procedures Called By This Procedure (Functor_22)
Tables / Queries / Fragments Directly Used By This Procedure (Functor_22)
- Aeon_Papers_Task_List (Query, used in Line 166)
- BBC_2025_WebRefs (Query, used in Line 177)
- Cross_Reference_By_Year (Query, used in Line 104)
- Cross_Reference_Changes_By_Month (Query, used in Line 114)
- Cross_Reference_Changes_By_Year (Query, used in Line 107)
- Functor_Descriptions_GEN (Query, used in Line 110)
- Functor_Descriptions_List (Query, used in Line 111)
- Functor_Usage (Table, used in Lines 141, 143)
- IdentityBooks_Unreferenced_Gen (Query, used in Line 53)
- IdentityPapersRead_Unreferenced_Gen (Query, used in Line 54)
- PDF_File_List (Query, used in Line 152)
- PID_Note_Reading_Lists (Table, used in Lines 56, 59, 62, 74, 86, 88, 96, 98, 120, 123, 127, 129, 134, 136)
- PID_Note_Reading_Lists_Books_Chk (Query, used in Lines 40, 42)
- PID_Note_Reading_Lists_Papers_Chk (Query, used in Lines 45, 47)
- PID_Notes_Books_Referenced_Gen (Query, used in Line 51)
- PID_Notes_Papers_Referenced_Gen (Query, used in Line 52)
- PID_Notes_Unused_By_Thesis (Query, used in Line 117)
- PID_Notes_Unused_By_Thesis_Note_Lists (Query, used in Line 149)
- qryDailyTasks (Query, used in Line 172)
- qryThesisTasks (Query, used in Line 181)
- qryTopTen (Query, used in Line 169)
- RIP_WebRefs (Query, used in Line 179)
- Thesis_Chapters (Query, used in Line 68)
- Thesis_Note_XRef (Table, used in Line 145)
- Thesis_Reading_List (Query, used in Line 155)
- Thesis_Reading_List_Cited (Query, used in Line 160)
- Thesis_Reading_List_Cited_Note (Query, used in Line 162)
Go To Start of This Procedure
Go To Top of This Page
Link to VBA Code Control Page
Source Code of: Functor_23 Procedure Type: Public Function Module: Functors Lines of Code: 309
Go To End of This Procedure
| Line-No. / Ref. | Code Line |
| 0001 | Public Function Functor_23(Note_ID, strOption, strValue, Optional str_Parameter_2) |
| 0002 | 'For this function:- |
| 0003 | ' ... Options 1-14 & 21-24 return a value (together with surrounding narrative) from a query |
| 0004 | ' ... Options 15-19 produce an indented list from a query |
| 0005 | ' ... Option 20 produces the table for the Thesis Dashboard |
| 0006 | Dim rs As Recordset |
| 0007 | Dim strValue_Local As String |
| 0008 | Dim strElement As String |
| 0009 | Dim strMsg As String |
| 0010 | Dim strQuery As String |
| 0011 | Dim Field_1 As String |
| 0012 | Dim Field_2 As String |
| 0013 | Dim Field_3 As String |
| 0014 | Dim i As Integer |
| 0015 | Dim j As Integer |
| 0016 | Dim str_Parameter_2_Local As String |
| 0017 | Dim strPara2 As String |
| 0018 | Dim Note_Parameter As Integer |
| 0019 | If IsMissing(str_Parameter_2) Then |
| 0020 | str_Parameter_2_Local = "" |
| 0021 | Else |
| 0022 | str_Parameter_2_Local = str_Parameter_2 |
| 0023 | End If |
| 0024 | Select Case strOption |
| 0025 | Case "1" |
| 0026 | strQuery = "Dud_Cross_References_This_Year" |
| 0027 | Case "2" |
| 0028 | strQuery = "Cross_Reference_MaxID" |
| 0029 | Case "3" |
| 0030 | strQuery = "SELECT Count(Cross_Reference_Changes.ID) AS CountOfID FROM Cross_Reference_Changes;" |
| 0031 | Case "4" |
| 0032 | strQuery = "SELECT Website_Regen_Control.Regen_Mins, Website_Regen_Control.Last_Run, Website_Regen_Control.Division FROM Website_Regen_Control WHERE (((Website_Regen_Control.Division)=""Paper_Abstract_Ranges""));" |
| 0033 | Case "5" |
| 0034 | strQuery = "SELECT Website_Regen_Control.Regen_Mins, Website_Regen_Control.Last_Run, Website_Regen_Control.Division FROM Website_Regen_Control WHERE (((Website_Regen_Control.Division)=""Author_Letters""));" |
| 0035 | Case "6" |
| 0036 | strQuery = "SELECT Website_Regen_Control.Regen_Mins, Website_Regen_Control.Last_Run, Website_Regen_Control.Division FROM Website_Regen_Control WHERE (((Website_Regen_Control.Division)=""BookPaperAbstract_Ranges""));" |
| 0037 | Case "7" |
| 0038 | strQuery = "SELECT Website_Regen_Control.Regen_Mins, Website_Regen_Control.Last_Run, Website_Regen_Control.Division FROM Website_Regen_Control WHERE (((Website_Regen_Control.Division)=""Note_Regen_Ranges""));" |
| 0039 | Case "8" |
| 0040 | strQuery = "SELECT Website_Regen_Control.Regen_Mins, Website_Regen_Control.Last_Run, Website_Regen_Control.Division FROM Website_Regen_Control WHERE (((Website_Regen_Control.Division)=""Note_Archive_Regen_Ranges""));" |
| 0041 | Case "9" |
| 0042 | strQuery = "SELECT * FROM Oboe_Latest_Lesson;" |
| 0043 | Case "10" |
| 0044 | strQuery = "SELECT BookPaperControl.Time_To_Regenerate, BookPaperControl.Latest_Update FROM BookPaperControl WHERE (((BookPaperControl.[ID])=""Auto_Reference_Notes_Regen""));" |
| 0045 | Case "11" |
| 0046 | strQuery = "Hits_Pages_Totals" |
| 0047 | Case "12" |
| 0048 | strQuery = "Hits_Pages_Totals_LastYear" |
| 0049 | Case "13" |
| 0050 | strQuery = "SELECT Count(Site_Map.Size) AS Records, Max([Timestamp_Logged]) AS [As At] FROM Site_Map;" |
| 0051 | Case "14" |
| 0052 | strQuery = "SELECT Website_Regen_Control.Regen_Mins, Website_Regen_Control.Last_Run, Website_Regen_Control.Division FROM Website_Regen_Control WHERE (((Website_Regen_Control.Division)=""Book_Summary_Ranges""));" |
| 0053 | Case "15" |
| 0054 | Select Case str_Parameter_2_Local |
| 0055 | Case "1" |
| 0056 | strQuery = "Earliest_Lang_Dates" |
| 0057 | Case "2" |
| 0058 | strQuery = "Ling_Progress" |
| 0059 | End Select |
| 0060 | Case "16", "18" |
| 0061 | If str_Parameter_2_Local = "" Then |
| 0062 | Note_Parameter = Note_ID |
| 0063 | Else |
| 0064 | Note_Parameter = str_Parameter_2_Local |
| 0065 | End If |
| 0066 | strQuery = "SELECT Thesis_Note_XRef.Thesis_Chapter_Note_ID, Thesis_Note_XRef.PID_Note_Seq, Thesis_Note_XRef.PID_Note_Category_1, Thesis_Note_XRef.PID_Note_Category_2, Thesis_Note_XRef.PID_Note_Category_3, Thesis_Note_XRef.PID_Note_Level, Notes.Item_Title, Thesis_Note_XRef.PID_Note_ID, Thesis_Note_XRef.PID_Note_Caption, Thesis_Note_XRef.PID_Footnote, Thesis_Note_XRef.[Exclude?], Thesis_Note_XRef.Reason_Excluded FROM Thesis_Note_XRef INNER JOIN Notes ON Thesis_Note_XRef.PID_Note_ID = Notes.ID WHERE (((Thesis_Note_XRef.Thesis_Chapter_Note_ID) = " & Note_Parameter & ")) ORDER BY Thesis_Note_XRef.PID_Note_Seq, Thesis_Note_XRef.PID_Note_Category_1, Thesis_Note_XRef.PID_Note_Category_2, Thesis_Note_XRef.PID_Note_Category_3, Thesis_Note_XRef.PID_Note_Level, Notes.Item_Title;" |
| 0067 | Case "17", "19" |
| 0068 | If str_Parameter_2_Local = "Read" Then |
| 0069 | strPara2 = "((Functor_Usage.Functor_Option)=6 Or (Functor_Usage.Functor_Option)=8) " |
| 0070 | Else |
| 0071 | strPara2 = "((Functor_Usage.Functor_Option)=7 Or (Functor_Usage.Functor_Option)=9) " |
| 0072 | End If |
| 0073 | strQuery = "SELECT Thesis_Note_XRef.Thesis_Chapter_Note_ID, Thesis_Note_XRef.PID_Note_Seq, Thesis_Note_XRef.PID_Note_Category_1, Thesis_Note_XRef.PID_Note_Category_2, Thesis_Note_XRef.PID_Note_Category_3, Thesis_Note_XRef.PID_Note_Level, Notes.Item_Title, Thesis_Note_XRef.PID_Note_ID, Thesis_Note_XRef.PID_Note_Caption, Functor_Usage.Functor_Option, Functor_Usage.Functor_Parameter FROM (Thesis_Note_XRef INNER JOIN Functor_Usage ON Thesis_Note_XRef.PID_Note_ID = Functor_Usage.Note_ID) INNER JOIN Notes ON Thesis_Note_XRef.PID_Note_ID = Notes.ID WHERE (" & strPara2 & " And ((Thesis_Note_XRef.Thesis_Chapter_Note_ID) = " & Note_ID & ") And ((Functor_Usage.Functor_ID) = 22) And ((Thesis_Note_XRef.[Exclude?]) = No)) ORDER BY Thesis_Note_XRef.PID_Note_Seq, Thesis_Note_XRef.PID_Note_Category_1, Thesis_Note_XRef.PID_Note_Category_2, Thesis_Note_XRef.PID_Note_Category_3, Thesis_Note_XRef.PID_Note_Level, Thesis_Note_XRef.PID_Note_Caption;" |
| 0074 | Case "20" |
| 0075 | strQuery = "Thesis_Progress_Dashboard_List" |
| 0076 | Case "21" |
| 0077 | Select Case str_Parameter_2_Local |
| 0078 | Case "1" |
| 0079 | strQuery = "PID_Notes_Unused_By_Thesis_Count" |
| 0080 | Case "2" |
| 0081 | strQuery = "PID_Notes_Unused_By_Thesis_Note_Lists_Count" |
| 0082 | Case "3" |
| 0083 | strQuery = "IdentityBooks_Unreferenced_Count" |
| 0084 | Case "4" |
| 0085 | strQuery = "IdentityPapersRead_Unreferenced_Count" |
| 0086 | Case "5" |
| 0087 | strQuery = "Works_Missing_By_Thesis_Chapter_Count" |
| 0088 | Case "6" |
| 0089 | strQuery = "PID_Papers_Filed_Not_Referenced_Count" |
| 0090 | Case "7" |
| 0091 | strQuery = "PID_Papers_Referenced_Undated_Count" |
| 0092 | Case "8" |
| 0093 | strQuery = "PID_Papers_Referenced_No_Abstract_Count" |
| 0094 | Case "9" |
| 0095 | strQuery = "Large_Page_List_Count" |
| 0096 | Case "10" |
| 0097 | strQuery = "PDF_Missing_List_Count" |
| 0098 | Case "11" |
| 0099 | strQuery = "Duplicate_Papers_Count" |
| 0100 | Case "12" |
| 0101 | strQuery = "PDF_File_List_Count" |
| 0102 | Case "13" |
| 0103 | strQuery = "Missing_Webref_DisplayText_List_Count" |
| 0104 | Case "14" |
| 0105 | strQuery = "PID_Missing_Online_Papers_List_Count" |
| 0106 | Case "15" |
| 0107 | strQuery = "Missing_Webref_DisplayText_List_Books_Count" |
| 0108 | Case "16" |
| 0109 | strQuery = "Papers_Inconsistently_Electronic_Count" |
| 0110 | Case "17" |
| 0111 | strQuery = "Thesis_Reading_List_Count" |
| 0112 | Case "18" |
| 0113 | strQuery = "Thesis_Reading_List_Cited_Count" |
| 0114 | End Select |
| 0115 | Case "22" |
| 0116 | strQuery = "SELECT PID_Missing_Online_Papers_List.[PID Note], Sum(1) AS Total, Sum(IIf([Accept?]=""Yes"",1,0)) AS Accepted, Sum(IIf([Pending?]=""Yes"",1,0)) AS Pending, Sum(IIf([Reserve?]=""Yes"",1,0)) AS Reserve FROM PID_Missing_Online_Papers_List WHERE (((PID_Missing_Online_Papers_List.[PID Note]) Like ""*+" & Note_ID & "+*"")) GROUP BY PID_Missing_Online_Papers_List.[PID Note];" |
| 0117 | Case "23" |
| 0118 | Select Case str_Parameter_2_Local |
| 0119 | Case "1" |
| 0120 | strQuery = "PID_Pages_Total" |
| 0121 | Case "2" |
| 0122 | strQuery = "Paper_Pages_Total" |
| 0123 | End Select |
| 0124 | Case "24" |
| 0125 | strQuery = "Aeon_Papers_Task_List_Count" |
| 0126 | Case "25" |
| 0127 | strQuery = "qryDailyTasksTotal" |
| 0128 | Case Else |
| 0129 | Debug.Print Now(); "- Note: " & Note_ID & ". Functor_23 : Invalid Option : " & strOption |
| 0130 | Functor_23 = "No" |
| 0131 | Exit Function |
| 0132 | End Select |
| 0133 | If strOption <> "20" Then |
| 0134 | Set rs = CurrentDb.OpenRecordset(strQuery) |
| 0135 | strValue_Local = "" |
| 0136 | If rs.EOF Then |
| 0137 | Debug.Print Now(); "- Note: " & Note_ID & ". Functor_23 : No item to print (Option = " & strOption & ")" |
| 0138 | Functor_23 = "No" |
| 0139 | Exit Function |
| 0140 | End If |
| 0141 | End If |
| 0142 | Select Case strOption |
| 0143 | Case "1" |
| 0144 | rs.MoveLast |
| 0145 | strElement = rs.Fields(1) |
| 0146 | If rs.Fields(0) <> rs.Fields(2) Then |
| 0147 | strElement = 0 |
| 0148 | End If |
| 0149 | If strElement = 0 Then |
| 0150 | strElement = "no" |
| 0151 | strMsg = "encouraging." |
| 0152 | Else |
| 0153 | strMsg = "worrying. Investigate!" |
| 0154 | Debug.Print Now(); "Note: " & Note_ID & ". Functor_23, Option 1 : Non-zero value printed - Investigate!" |
| 0155 | End If |
| 0156 | strValue_Local = strElement & " record" & IIf(Val(strElement) > 1, "s", "") & " for " & rs.Fields(2) & " prior to the " & rs.Fields(3) & " regeneration, which is " & strMsg |
| 0157 | Case "2" |
| 0158 | rs.MoveFirst |
| 0159 | strElement = rs.Fields(0) |
| 0160 | OK = Number_Format(strElement) |
| 0161 | strValue_Local = Now() & " it is " & strElement & " - but it's taken " & Year(Now) - 2015 |
| 0162 | Case "3" |
| 0163 | rs.MoveFirst |
| 0164 | strElement = rs.Fields(0) |
| 0165 | OK = Number_Format(strElement) |
| 0166 | strValue_Local = strElement & " rows, as of " & Left(Now(), 10) & ", " |
| 0167 | Case "4", "5", "6", "7", "8", "10", "14" |
| 0168 | rs.MoveFirst |
| 0169 | strElement = rs.Fields(0) |
| 0170 | If strElement >= 60 Then |
| 0171 | strElement = Round(strElement / 60, 2) & " hours" |
| 0172 | Else |
| 0173 | strElement = strElement & " minutes" |
| 0174 | End If |
| 0175 | strElement = strElement & " on " & Left(rs.Fields(1), 10) |
| 0176 | strValue_Local = strElement |
| 0177 | Case "9", "24" |
| 0178 | rs.MoveFirst |
| 0179 | strValue_Local = rs.Fields(0) & "" |
| 0180 | Case "11", "12" |
| 0181 | rs.MoveFirst |
| 0182 | Field_1 = Nz(rs.Fields(0), 0) 'Min period recorded |
| 0183 | Field_2 = Nz(rs.Fields(1), 0) 'Max period recorded |
| 0184 | Field_3 = Nz(rs.Fields(2), 0) 'Total Hits |
| 0185 | Field_1 = Left(Field_1, 4) * 12 + Right(Field_1, 2) |
| 0186 | Field_2 = Left(Field_2, 4) * 12 + Right(Field_2, 2) |
| 0187 | Field_1 = Field_2 - Field_1 + 1 |
| 0188 | Field_2 = Field_1 * 365 / 12 |
| 0189 | Field_3 = Round(Field_3 / Field_2 / 1000, 1) |
| 0190 | strValue_Local = Field_3 & "k or so hits a day over the " & Field_1 & " months up to " & rs.Fields(1) |
| 0191 | Case "13" |
| 0192 | rs.MoveFirst |
| 0193 | strValue_Local = Round(rs.Fields(0) / 1000, 0) & "k pages on my site as at " & Left(rs.Fields(1), 10) |
| 0194 | Case "15" |
| 0195 | rs.MoveFirst |
| 0196 | Select Case str_Parameter_2_Local |
| 0197 | Case "1" |
| 0198 | strValue_Local = "The next languages in the queue are:- |..|" |
| 0199 | Field_3 = "" |
| 0200 | Case "2" |
| 0201 | strValue_Local = "Progress on Ling (in progress order):- |..|" |
| 0202 | Field_2 = "" |
| 0203 | End Select |
| 0204 | Do Until rs.EOF |
| 0205 | Select Case str_Parameter_2_Local |
| 0206 | Case "1" |
| 0207 | Field_1 = rs.Fields(0) & rs.Fields(1) |
| 0208 | Field_2 = rs.Fields(2) |
| 0209 | If Field_2 = "0" Then |
| 0210 | Field_2 = "Not yet studied" |
| 0211 | Else |
| 0212 | Field_2 = "Last studied on " & Format(Field_2, "Long Date") |
| 0213 | If rs.Fields(4) & "" > "0" Then |
| 0214 | Field_2 = Field_2 & "; Last Ling Lesson = " & rs.Fields(4) |
| 0215 | End If |
| 0216 | If rs.Fields(5) & "" <> "" Then |
| 0217 | Field_2 = Field_2 & "; Last Ling Revision = " & rs.Fields(5) |
| 0218 | End If |
| 0219 | End If |
| 0220 | If Field_3 <> Field_1 Then |
| 0221 | If Field_3 <> "" Then |
| 0222 | strValue_Local = strValue_Local & "|99|" |
| 0223 | End If |
| 0224 | strValue_Local = strValue_Local & "|.|" & rs.Fields(0) & ": Priority " & rs.Fields(1) & ": |99|" |
| 0225 | End If |
| 0226 | strValue_Local = strValue_Local & "|1|" & Replace(rs.Fields(3), " (Modern)", "") & ". " & Field_2 |
| 0227 | Field_3 = Field_1 |
| 0228 | Case "2" |
| 0229 | Field_1 = rs.Fields(0) |
| 0230 | If Field_2 <> Field_1 Then |
| 0231 | If Field_2 <> "" Then |
| 0232 | strValue_Local = strValue_Local & "|99|" |
| 0233 | End If |
| 0234 | strValue_Local = strValue_Local & "|.|Priority " & Field_1 & ":- |99|" |
| 0235 | End If |
| 0236 | strValue_Local = strValue_Local & "|1|" & rs.Fields(2) & ": " & rs.Fields(1) & IIf(rs.Fields(3) & "" <> "", " (Revision: " & rs.Fields(3) & ")", "") |
| 0237 | Field_2 = Field_1 |
| 0238 | End Select |
| 0239 | rs.MoveNext |
| 0240 | Loop |
| 0241 | strValue_Local = strValue_Local & "|99||..|" |
| 0242 | Case "16" |
| 0243 | OK = Functor_Indented_List(rs, strValue_Local) |
| 0244 | Case "17" |
| 0245 | OK = Update_Thesis_Chapter_RLs(Note_ID) |
| 0246 | OK = Functor_Indented_List(rs, strValue_Local, True) |
| 0247 | Case "18" 'Test only |
| 0248 | OK = Functor_Indented_List_Development(rs, strValue_Local) |
| 0249 | Case "19" |
| 0250 | OK = Update_Thesis_Chapter_RLs(Note_ID) |
| 0251 | OK = Functor_Indented_List_Development(rs, strValue_Local, True) |
| 0252 | Case "20" |
| 0253 | OK = Thesis_Dashboard_Table_Gen(strValue_Local, strQuery) |
| 0254 | Case "21" |
| 0255 | rs.MoveFirst |
| 0256 | strElement = rs.Fields(0) |
| 0257 | If str_Parameter_2_Local = "6" Then |
| 0258 | Field_1 = Nz(rs.Fields(1)) |
| 0259 | End If |
| 0260 | OK = Number_Format(strElement) |
| 0261 | strValue_Local = "(" & strElement & " item" & IIf(strElement = 1, "", "s") & IIf(str_Parameter_2_Local = "6", ", " & Field_1 & " unactioned", "") & ")" |
| 0262 | If str_Parameter_2_Local = "17" Or str_Parameter_2_Local = "18" Then |
| 0263 | strValue_Local = Replace(strValue_Local, "(", "") |
| 0264 | strValue_Local = Replace(strValue_Local, ")", "") |
| 0265 | End If |
| 0266 | Case "22" |
| 0267 | If rs.EOF Then |
| 0268 | strValue_Local = "" |
| 0269 | Else |
| 0270 | strValue_Local = "|.|" |
| 0271 | Field_1 = rs.Fields(0) |
| 0272 | Field_1 = Mid(Field_1, 2, InStr(Field_1, "]") - 2) |
| 0273 | Field_1 = Replace(Field_1, " ", "") |
| 0274 | 'Field_1 = "PDFs_" & Field_1 |
| 0275 | Field_1 = Left("PDFs_" & Field_1, 20) |
| 0276 | Field_1 = "For further papers held on-line of potential interest, follow this Link++1317#" & Field_1 & "++." |
| 0277 | i = rs.Fields.Count |
| 0278 | Field_1 = Field_1 & " Total papers = " & rs.Fields(1) |
| 0279 | If i > 2 Then |
| 0280 | Field_1 = Field_1 |
| 0281 | Field_3 = ". Including " |
| 0282 | j = 2 |
| 0283 | Field_2 = "" |
| 0284 | Do Until j > i - 1 |
| 0285 | If rs.Fields(j) > 0 Then |
| 0286 | Field_1 = Field_1 & Field_3 & Field_2 & rs.Fields(j).Name & " = " & rs.Fields(j) |
| 0287 | Field_2 = ", " |
| 0288 | Field_3 = "" |
| 0289 | End If |
| 0290 | j = j + 1 |
| 0291 | Loop |
| 0292 | Field_1 = Field_1 & "." |
| 0293 | End If |
| 0294 | strValue_Local = strValue_Local & Field_1 |
| 0295 | End If |
| 0296 | Case "23" |
| 0297 | rs.MoveFirst |
| 0298 | strElement = rs.Fields(0) |
| 0299 | strElement = Round(strElement / 1000, 0) |
| 0300 | OK = Number_Format(strElement) |
| 0301 | strValue_Local = strElement & "k pages, as at " & Now() |
| 0302 | Case "25" |
| 0303 | rs.MoveFirst |
| 0304 | strValue_Local = Round(rs.Fields(0) / 60, 2) & " hours" |
| 0305 | End Select |
| 0306 | Functor_23 = "Yes" |
| 0307 | strValue = Trim(strValue_Local) |
| 0308 | Set rs = Nothing |
| 0309 | End Function |
Procedures Calling This Procedure (Functor_23)
Procedures Called By This Procedure (Functor_23)
Tables / Queries / Fragments Directly Used By This Procedure (Functor_23)
- Aeon_Papers_Task_List_Count (Query, used in Line 125)
- BookPaperAbstract_Ranges (Table, used in Line 36)
- BookPaperControl (Table, used in Line 44)
- Cross_Reference_Changes (Table, used in Line 30)
- Cross_Reference_MaxID (Query, used in Line 28)
- Dud_Cross_References_This_Year (Query, used in Line 26)
- Duplicate_Papers_Count (Query, used in Line 99)
- Earliest_Lang_Dates (Query, used in Line 56)
- Functor_Usage (Table, used in Lines 69, 71)
- Hits_Pages_Totals (Query, used in Line 46)
- Hits_Pages_Totals_LastYear (Query, used in Line 48)
- IdentityBooks_Unreferenced_Count (Query, used in Line 83)
- IdentityPapersRead_Unreferenced_Count (Query, used in Line 85)
- Large_Page_List_Count (Query, used in Line 95)
- Ling_Progress (Query, used in Line 58)
- Missing_Webref_DisplayText_List_Books_Count (Query, used in Line 107)
- Missing_Webref_DisplayText_List_Count (Query, used in Line 103)
- Note_Archive_Regen_Ranges (Table, used in Line 40)
- Oboe_Latest_Lesson (Table, used in Line 42)
- Paper_Pages_Total (Query, used in Line 122)
- Papers (Table, used in Lines 276, 278)
- Papers_Inconsistently_Electronic_Count (Query, used in Line 109)
- PDF_File_List_Count (Query, used in Line 101)
- PDF_Missing_List_Count (Query, used in Line 97)
- PID_Missing_Online_Papers_List (Query, used in Line 116)
- PID_Missing_Online_Papers_List_Count (Query, used in Line 105)
- PID_Notes_Unused_By_Thesis_Count (Query, used in Line 79)
- PID_Notes_Unused_By_Thesis_Note_Lists_Count (Query, used in Line 81)
- PID_Pages_Total (Query, used in Line 120)
- PID_Papers_Filed_Not_Referenced_Count (Query, used in Line 89)
- PID_Papers_Referenced_No_Abstract_Count (Query, used in Line 93)
- PID_Papers_Referenced_Undated_Count (Query, used in Line 91)
- qryDailyTasksTotal (Query, used in Line 127)
- Site_Map (Table, used in Line 50)
- Thesis_Note_XRef (Table, used in Lines 66, 73)
- Thesis_Progress_Dashboard_List (Query, used in Line 75)
- Thesis_Reading_List_Cited_Count (Query, used in Line 113)
- Thesis_Reading_List_Count (Query, used in Line 111)
- Website_Regen_Control (Table, used in Lines 32, 34, 38, 52)
- Works_Missing_By_Thesis_Chapter_Count (Query, used in Line 87)
Go To Start of This Procedure
Go To Top of This Page
Link to VBA Code Control Page
Source Code of: Jacks_Non_Prime Procedure Type: Public Sub Module: Testing Lines of Code: 36
Go To End of This Procedure
| Line-No. / Ref. | Code Line |
| 0001 | Public Sub Jacks_Non_Prime() |
| 0002 | 'Prove that 2^10 + 5^12 is non-prime |
| 0003 | 'The program shows:- |
| 0004 | '... The number is 244,141,649 = 14657 x 16657 |
| 0005 | '... Max Long is 2,147,483,647, so didn't need LongLong |
| 0006 | Dim Non_Prime As LongLong |
| 0007 | Dim Non_Prime_Temp As LongLong |
| 0008 | Dim Non_Prime_Sqrt As Integer |
| 0009 | Dim i As Integer |
| 0010 | Non_Prime_Temp = 1 |
| 0011 | For i = 1 To 10 |
| 0012 | Non_Prime_Temp = Non_Prime_Temp * 2 |
| 0013 | Next i |
| 0014 | Debug.Print Non_Prime_Temp |
| 0015 | Non_Prime = Non_Prime_Temp |
| 0016 | Non_Prime_Temp = 1 |
| 0017 | For i = 1 To 12 |
| 0018 | Non_Prime_Temp = Non_Prime_Temp * 5 |
| 0019 | Next i |
| 0020 | Debug.Print Non_Prime_Temp |
| 0021 | Non_Prime = Non_Prime + Non_Prime_Temp |
| 0022 | Debug.Print Non_Prime |
| 0023 | Non_Prime_Sqrt = Non_Prime ^ 0.5 |
| 0024 | Debug.Print Non_Prime_Sqrt |
| 0025 | Non_Prime_Sqrt = Non_Prime_Sqrt / 2 + 1 |
| 0026 | For i = 1 To Non_Prime_Sqrt |
| 0027 | Non_Prime_Temp = Non_Prime Mod (2 * i + 1) |
| 0028 | If Non_Prime_Temp = 0 Then |
| 0029 | Debug.Print 2 * i + 1 |
| 0030 | Non_Prime_Temp = Non_Prime / (2 * i + 1) |
| 0031 | Debug.Print Non_Prime_Temp |
| 0032 | Non_Prime_Temp = Non_Prime_Temp * (2 * i + 1) |
| 0033 | Debug.Print Non_Prime_Temp |
| 0034 | End If |
| 0035 | Next i |
| 0036 | End Sub |
Go To Start of This Procedure
Go To Top of This Page
Link to VBA Code Control Page
Source Code of: Number_Format Procedure Type: Public Function Module: New Code Lines of Code: 42
Go To End of This Procedure
| Line-No. / Ref. | Code Line |
| 0001 | Public Function Number_Format(strNumber_Sent) |
| 0002 | Dim strNumber_Local As String |
| 0003 | Dim Digit_Table(20) As String |
| 0004 | Dim i As Integer |
| 0005 | Dim j As Integer |
| 0006 | Dim iLen_Number As Integer |
| 0007 | 'This function inserts commas into a number sent ... |
| 0008 | 'I may get it to do further functions in due course |
| 0009 | ' .... I couldn't find an HTML format command to do this |
| 0010 | ' .... but there must be a VBA built-in function? |
| 0011 | strNumber_Local = Trim(strNumber_Sent) |
| 0012 | If Not IsNumeric(strNumber_Local) Then |
| 0013 | Exit Function |
| 0014 | End If |
| 0015 | If Val(strNumber_Local) < 1000 Then 'Can't be any commas |
| 0016 | Exit Function |
| 0017 | End If |
| 0018 | iLen_Number = Len(strNumber_Local) |
| 0019 | For i = 1 To 20 |
| 0020 | Digit_Table(i) = "" |
| 0021 | Next i |
| 0022 | 'Add the commas (in reverse) |
| 0023 | j = 1 |
| 0024 | For i = 1 To iLen_Number |
| 0025 | Digit_Table(j) = Mid(strNumber_Local, iLen_Number + 1 - i, 1) |
| 0026 | j = j + 1 |
| 0027 | If i Mod 3 = 0 Then |
| 0028 | Digit_Table(j) = "," |
| 0029 | j = j + 1 |
| 0030 | End If |
| 0031 | Next i |
| 0032 | 'Remove trailing comma |
| 0033 | If Digit_Table(j - 1) = "," Then |
| 0034 | Digit_Table(j - 1) = "" |
| 0035 | End If |
| 0036 | strNumber_Local = "" |
| 0037 | For i = 1 To j - 1 |
| 0038 | strNumber_Local = strNumber_Local & Digit_Table(j - i) |
| 0039 | Next i |
| 0040 | 'Exit |
| 0041 | strNumber_Sent = strNumber_Local |
| 0042 | End Function |
Procedures Calling This Procedure (Number_Format)
Go To Start of This Procedure
Go To Top of This Page
Link to VBA Code Control Page
| | | | | | | | | | | | | |