Bdd de location compos ado avec access - c' est promis, c' est la dernière!

Soyez le premier à donner votre avis sur cette source.

Vue 15 508 fois - Téléchargée 3 753 fois

Description

Cette fois j' exploite les relations crées sous Access pour eliminer les registres liés à un registre d' une table "père".
Je montre aussi l' utilisation des requêtes crées sous Access et ses pièges d' utilisation ainsi que les erreurs de ADO (cf. commentaires dans le code).

Conclusion :


J' espère que cette source sera plus explicite que la précédente en ce qui concerne les jointures de tables.

Codes Sources

A voir également

Ajouter un commentaire

Commentaires

Messages postés
5
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006

Bien, merci... vous m'avez déjà expliqué lequel la fonction qui l'utilise.
J'ai fait le télécharge de l'URL que vous m'êtes passé au-dessus. Comme vous les il m'avaient déjà dit, il contient la fonction juste qui la flamme, mais pas la fonction STRING_PORTION.
C'est nécessaire pour moi la fonction STRING_PORTION juste, et seulement ce.
La fonction STRING_PORTION pour le que je sais n'est pas dans celui de Delphi.
Au cas où c'est, je le demande avec bonté cela m'envoie le nom de l'unité dans celui qui elle est insérée et la version de Delphi, si 4,5,6,7,8... cela l'utilise.
Bien..., je répéterai la demande de sollicitation du code de la fonction STRING_PORTION:

function STRING_PORTION(szCurrentPrinter, True, ',', False): string;//celle;
{szCurrentPrinter, Vrai, ', ', Faux) je sais que ce n'est pas dans ce chemin qui devrait être écrit.
Pour la grâce, écrivez-moi la fonction entière.}
var //si exister
begin
//?????? - Est-ce que le code est entre qui est inséré commencez et fin de que j'ai besoin, près de la fonction.
end;

Merci pour l'attention reçue et pour le fait d'existence qui répond le mes questions. Comme vous l'il est éprouvé le programmeur, je suppose c'est une fonction qui est dans Delphi. S'il va ceci vraiment, juste passez-vous le nom de l'unité et la version de Delphi.

Respectueusement...
Messages postés
5
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006

(J'ai fait la question manquée, pour cet estu refaisant? ) Débiteur pour m'aider?
Maintenant seulement il manque de toi pour me passer le code suivant :

function STRING_PORTION(szCurrentPrinter, True, ',', False): string;
//(szCurrentPrinter, True, ',', False) il ne sera pas ainsi bien?
var//se à exister
begin
// ?????? - Le code qui est entre begin et end est
//que j'ai besoin.
end ;
Messages postés
5
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006

Débiteur pour m'aider?
Maintenant seulement il manque de toi pour me passer le code suivant :

procedure STRING_PORTION(szCurrentPrinter, True, ',', False)
var//se à exister
begin
// ?????? - Le code qui est entre commencent et extrémité est
//que j'ai besoin.
end ;
Messages postés
2106
Date d'inscription
mardi 10 décembre 2002
Statut
Modérateur
Dernière intervention
15 décembre 2014
5
function IMPRESSORAS_LISTAR(Destino: TStrings): Integer;
var
I: Integer;
ByteCnt : DWORD; //Nb d'octets à réserver pour récupérer le tableau de structures
StructCnt: DWORD; //Nb de structures récupérees = nb imprimantes
p : pointer; //pointe sur le tableau de structures retourné par EnumPrinters
PrinterInfo: PPrinterInfo2; //Pointeur de structures de type _Printer_Info_2
szCurrentPrinter: PChar;
begin
RESULT := -1;
Destino.Clear;
//initialisation des paramètres
ByteCnt := 0;
StructCnt := 0;
PrinterInfo:=nil;
p:=nil;

GetMem(szCurrentPrinter,SizeOf(Char) * 256); // Reserver espace memoire ...
GetProfileString('Windows', 'DEVICE', '', szCurrentPrinter, 254); // Nome+Info de l' imprimante actuelle ...

//Cette fonction retourne un pointeur sur les structures des imprimantes
//Le While permet d'effectuer une réservation suffisante pour le tableau de structures
While not EnumPrinters(PRINTER_ENUM_LOCAL, nil, 2, p, ByteCnt, ByteCnt,StructCnt) Do
If (GetLastError = ERROR_INSUFFICIENT_BUFFER)
Then p := AllocMem(ByteCnt);

//Maintenant il ne reste plus qu'à lire le contenu des structures du tableau
For I:=0 To StructCnt-1 Do //On lit chaques structures propre à chaque imprimante
Begin
//On se déplace dans le tableau de structures
PrinterInfo := PPrinterInfo2(LongInt(P)+I*sizeof(_Printer_Info_2));
Destino.add(PrinterInfo.pPrinterName);

If PrinterInfo.pPrinterName = STRING_PORTION(szCurrentPrinter, True, ',', False)
Then RESULT := i;
// Memo1.lines.add(#9+'Port -> '+PrinterInfo.pPortName);
// Memo1.lines.add(#9+'Pilote -> '+PrinterInfo.pDriverName);
// Memo1.lines.add(#9+'Commentaire -> '+PrinterInfo.pComment);
End;

FreeMem(szCurrentPrinter, SizeOf(Char) * 256) ; // Libérer espace mémoire ...
end;





STRING_PORTION(szCurrentPrinter, True, ',', False)
Renvoie le nom de l' imprimante en récupérant tous les caractères jusqu' à rencontrer une virgule...
Messages postés
5
Date d'inscription
mardi 18 juillet 2006
Statut
Membre
Dernière intervention
20 juillet 2006

Débiteur pour avoir répondu? E combien de procédé STRING_PORTION (au szCurrentPrinter, vrai, « , », falsifie) ; Vous il pourriez le décrire ? Il pardonne si je ne comprenais pas bien?
Afficher les 25 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.